diff --git a/Business/Manager.cs b/Business/Manager.cs
index b123c42..209204e 100644
--- a/Business/Manager.cs
+++ b/Business/Manager.cs
@@ -34,10 +34,7 @@ namespace Business
{
requins.Clear();
requins.AddRange(Pers.LoadRequins());
- if (requins.Count > 0)
- {
- SelectedRequin = requins.First();
- }
+ SelectedRequin = null;
}
public void SaveRequins()
diff --git a/Business/ManagerUsers.cs b/Business/ManagerUsers.cs
index 64dc52b..5a97ef5 100644
--- a/Business/ManagerUsers.cs
+++ b/Business/ManagerUsers.cs
@@ -34,10 +34,7 @@ namespace Business
{
utilisateurs.Clear();
utilisateurs.AddRange(Pers.LoadUsers());
- if (utilisateurs.Count > 0)
- {
- SelectedUser = utilisateurs.First();
- }
+ SelectedUser = null;
}
public void SaveUsers()
diff --git a/Modèle/UCrequinType.cs b/Modèle/UCrequinType.cs
new file mode 100644
index 0000000..83d43fc
--- /dev/null
+++ b/Modèle/UCrequinType.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Modèle
+{
+ public enum UCrequinType
+ {
+ normal,
+ edit,
+ add,
+ }
+}
diff --git a/StubLib/Stub.cs b/StubLib/Stub.cs
index 0bbdbd4..8e7f70b 100644
--- a/StubLib/Stub.cs
+++ b/StubLib/Stub.cs
@@ -20,7 +20,8 @@ namespace StubLib
requins.Add(new Requin("mon requin adoré", "trop cool ce requin", "wow il est trop bo", "Images/Dormeur-Mexicain.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EW, zone, "(C'est pas un vrai requin)"));
requins.Add(new Requin("Banane", "Le requin banal", "C'est un requin ultra banal", "Images/White_shark.png", "Videos/Vid-Requin-Blanc.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.LC, zone, "Il est pas aussi banal qu'il en a l'air"));
requins.Add(new Requin("Req1", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment pas banal"));
-
+ utilisateurs.Add(new Utilisateur("a", "salut"));
+ utilisateurs.Add(new Expert("salut", "hey", "bob"));
// Utilisateurs
}
diff --git a/WpfApp1/App.xaml.cs b/WpfApp1/App.xaml.cs
index 6b0818e..810453e 100644
--- a/WpfApp1/App.xaml.cs
+++ b/WpfApp1/App.xaml.cs
@@ -16,6 +16,7 @@ namespace WpfApp1
public partial class App : Application
{
public Manager LeManager { get; private set; } = new Manager(new StubLib.Stub());
+ public ManagerUsers LeManagerUser { get; private set; } = new ManagerUsers(new StubLib.Stub());
public void Temp()
{
diff --git a/WpfApp1/CreerCompte.xaml b/WpfApp1/CreerCompte.xaml
index 087921c..3a1936e 100644
--- a/WpfApp1/CreerCompte.xaml
+++ b/WpfApp1/CreerCompte.xaml
@@ -22,14 +22,14 @@
-
+
-
+
@@ -37,9 +37,9 @@
-
+
-
+
diff --git a/WpfApp1/CreerCompte.xaml.cs b/WpfApp1/CreerCompte.xaml.cs
index 8a1d332..5c8d2af 100644
--- a/WpfApp1/CreerCompte.xaml.cs
+++ b/WpfApp1/CreerCompte.xaml.cs
@@ -1,4 +1,6 @@
-using System;
+using Business;
+using Modèle;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -24,6 +26,8 @@ namespace WpfApp1
InitializeComponent();
}
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+
private void exit_Click(object sender, RoutedEventArgs e)
{
Close();
@@ -35,5 +39,29 @@ namespace WpfApp1
Close();
connectWindow.ShowDialog();
}
+
+ private void inscription_Click(object sender, RoutedEventArgs e)
+ {
+ string mail = email.LeContenu.Text;
+ string password = mdp.Password;
+ string conf = reMdp.Password;
+ if (password != conf)
+ {
+ MessageBox.Show("Les mots de passe doivent être identiques");
+ }
+ else
+ {
+ Utilisateur user = new Utilisateur(mail, password);
+ if (MgrUser.AjouterUtilisateur(user))
+ {
+ MgrUser.SelectedUser = user;
+ Close();
+ }
+ else
+ {
+ MessageBox.Show("Cet utilisateur existe déjà");
+ }
+ }
+ }
}
}
diff --git a/WpfApp1/Images/MathildeBébé.jpg b/WpfApp1/Images/MathildeBébé.jpg
new file mode 100644
index 0000000..c2929d4
Binary files /dev/null and b/WpfApp1/Images/MathildeBébé.jpg differ
diff --git a/WpfApp1/Images/Thumbs.db b/WpfApp1/Images/Thumbs.db
index dfba3bf..f06aef0 100644
Binary files a/WpfApp1/Images/Thumbs.db and b/WpfApp1/Images/Thumbs.db differ
diff --git a/WpfApp1/InfoUtilisateur.xaml b/WpfApp1/InfoUtilisateur.xaml
index 60e6b74..8f3ae09 100644
--- a/WpfApp1/InfoUtilisateur.xaml
+++ b/WpfApp1/InfoUtilisateur.xaml
@@ -28,7 +28,7 @@
-
+
@@ -36,19 +36,19 @@
-
+
-
-
+
+
-
+
diff --git a/WpfApp1/InfoUtilisateur.xaml.cs b/WpfApp1/InfoUtilisateur.xaml.cs
index b941130..0161132 100644
--- a/WpfApp1/InfoUtilisateur.xaml.cs
+++ b/WpfApp1/InfoUtilisateur.xaml.cs
@@ -1,4 +1,6 @@
-using System;
+using Business;
+using Modèle;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -19,14 +21,55 @@ namespace WpfApp1
///
public partial class InfoUtilisateur : Window
{
+
public InfoUtilisateur()
{
InitializeComponent();
}
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+
+ private Personne _pers;
+ public Personne pers
+ {
+ get { return _pers; }
+ set
+ {
+ _pers = value;
+ UpdateUi(_pers);
+ }
+ }
+
+
+ private void UpdateUi(Personne pers)
+ {
+ mdp.Text = "";
+ email.Text = pers.Email;
+ for (int i = 0; i < pers.MotDePasse.Length; i++)
+ {
+ mdp.Text = mdp.Text + "*";
+ }
+ if (MgrUser.SelectedUser is Utilisateur user)
+ {
+ surnombre.Text = user.NbSubmit.ToString();
+ }
+ else if (MgrUser.SelectedUser is Expert alex)
+ {
+ mess.Text = "Surnom";
+ surnombre.Text = alex.Surnom;
+ }
+ }
+
private void exit_Click(object sender, RoutedEventArgs e)
{
+ ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
+ }
+ private void deco_Click(object sender, RoutedEventArgs e)
+ {
+ Close();
+ MgrUser.SelectedUser = null;
}
+
}
}
diff --git a/WpfApp1/MainWindow.xaml.cs b/WpfApp1/MainWindow.xaml.cs
index ea47dc0..782240b 100644
--- a/WpfApp1/MainWindow.xaml.cs
+++ b/WpfApp1/MainWindow.xaml.cs
@@ -28,6 +28,7 @@ namespace WpfApp1
public partial class MainWindow : Window
{
public Manager Mgr => (Application.Current as App).LeManager;
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
Nullable zonePage{ get; set; }
@@ -37,13 +38,12 @@ namespace WpfApp1
Mgr.LoadRequins();
+ MgrUser.LoadUsers();
+
DataContext = Mgr;
chargerUC();
- List zones = new List { Zone.ATLANTIQUE, Zone.ARCTIQUE };
- //uc1.requin = new Requin("Bob le bricoleur", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
- // uc2.requin = new Requin("Requin Dormeur Mexdzdqzdicain", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
}
@@ -121,9 +121,9 @@ namespace WpfApp1
public void chargerUC()
{
viderListBox();
- foreach(Requin req in Mgr.Requins)
+ foreach (Requin req in Mgr.Requins)
{
- laListe.Items.Add(new UserControlRequin { requin = req });
+ laListe.Items.Add(new UserControlRequin { requin = req , type = UCrequinType.normal }) ;
}
}
diff --git a/WpfApp1/SeConnecter.xaml b/WpfApp1/SeConnecter.xaml
index c8c8ba4..8bf1ce6 100644
--- a/WpfApp1/SeConnecter.xaml
+++ b/WpfApp1/SeConnecter.xaml
@@ -21,16 +21,16 @@
-
+
-
+
-
+
diff --git a/WpfApp1/SeConnecter.xaml.cs b/WpfApp1/SeConnecter.xaml.cs
index 565e3ca..9d36e95 100644
--- a/WpfApp1/SeConnecter.xaml.cs
+++ b/WpfApp1/SeConnecter.xaml.cs
@@ -1,4 +1,6 @@
-using System;
+using Business;
+using Modèle;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -19,9 +21,14 @@ namespace WpfApp1
///
public partial class SeConnecter : Window
{
+
+ public ManagerUsers Mgr => (Application.Current as App).LeManagerUser;
public SeConnecter()
{
InitializeComponent();
+ Mgr.LoadUsers();
+
+ DataContext = Mgr;
}
private void exit_Click(object sender, RoutedEventArgs e)
@@ -35,5 +42,26 @@ namespace WpfApp1
Close();
inscrireWindow.ShowDialog();
}
+
+ private void connect_Click(object sender, RoutedEventArgs e)
+ {
+ string email = mail.LeContenu.Text;
+ string password = mdp.Password;
+ if (string.IsNullOrWhiteSpace(email) || string.IsNullOrWhiteSpace(password))
+ {
+ MessageBox.Show("Veuillez remplir toutes les cases");
+ return;
+ }
+ foreach(Personne p in Mgr.Utilisateurs)
+ {
+ if (p.Email==email && password == p.MotDePasse)
+ {
+ Mgr.SelectedUser = p;
+ Close();
+ return;
+ }
+ }
+ MessageBox.Show("L'Email ou le mot de passe est incorrect");
+ }
}
}
diff --git a/WpfApp1/UserControlEdit.xaml.cs b/WpfApp1/UserControlEdit.xaml.cs
index 9f7f257..5008882 100644
--- a/WpfApp1/UserControlEdit.xaml.cs
+++ b/WpfApp1/UserControlEdit.xaml.cs
@@ -32,7 +32,7 @@ namespace WpfApp1
}
public Manager Manager => (Application.Current as App).LeManager;
-
+ public ManagerUsers ManagerUser => (Application.Current as App).LeManagerUser;
private Requin _requin;
public Requin requin
@@ -58,16 +58,71 @@ namespace WpfApp1
LienVid.Contenu = requin.Video;
LienMap.Contenu = requin.PhotoCarte;
funFact.Contenu = requin.FunFact;
+ if (requin.StatutCons == Conservation.EX)
+ {
+ ex.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.EW)
+ {
+ ew.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.CR)
+ {
+ cr.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.EN)
+ {
+ en.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.VU)
+ {
+ vu.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.NT)
+ {
+ nt.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.LC)
+ {
+ lc.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.DD)
+ {
+ dd.IsChecked = true;
+ }
+ else if (requin.StatutCons == Conservation.NE)
+ {
+ ne.IsChecked = true;
+ }
+
+ foreach (Zone z in requin.Repartition)
+ {
+ if (z == Zone.ATLANTIQUE)
+ {
+ Atla.IsChecked = true;
+ }
+ if (z == Zone.ARCTIQUE)
+ {
+ Arct.IsChecked = true;
+ }
+ if (z == Zone.INDIEN)
+ {
+ Indi.IsChecked = true;
+ }
+ if (z == Zone.PACIFIQUE)
+ {
+ Paci.IsChecked = true;
+ }
+ }
}
private void exit_Click(object sender, RoutedEventArgs e)
{
- ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
+ ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
}
private void submit_Click(object sender, RoutedEventArgs e)
{
- int testCons = 0;
List lesZones = new List();
Conservation cons = new Conservation();
string nom = leNom.LeContenu.Text;
@@ -81,32 +136,26 @@ namespace WpfApp1
if (ex.IsChecked == true)
{
cons = Conservation.EX;
- testCons++;
}
else if (ew.IsChecked == true)
{
cons = Conservation.EW;
- testCons++;
}
else if (cr.IsChecked == true)
{
cons = Conservation.CR;
- testCons++;
}
else if (en.IsChecked == true)
{
cons = Conservation.EN;
- testCons++;
}
else if (vu.IsChecked == true)
{
cons = Conservation.VU;
- testCons++;
}
else if (nt.IsChecked == true)
{
cons = Conservation.NT;
- testCons++;
}
else if (lc.IsChecked == true)
{
@@ -115,16 +164,12 @@ namespace WpfApp1
else if (dd.IsChecked == true)
{
cons = Conservation.DD;
- testCons++;
}
else if (ne.IsChecked == true)
{
cons = Conservation.NE;
- testCons++;
}
-
-
if (Arct.IsChecked == true)
{
lesZones.Add(Zone.ARCTIQUE);
@@ -142,27 +187,21 @@ namespace WpfApp1
lesZones.Add(Zone.PACIFIQUE);
}
- if (testCons == 0 || lesZones.Count() == 0 || string.IsNullOrWhiteSpace(nom) || string.IsNullOrWhiteSpace(sciNam) || string.IsNullOrWhiteSpace(descri)
- || string.IsNullOrWhiteSpace(photo) || string.IsNullOrWhiteSpace(video) || string.IsNullOrWhiteSpace(map) || string.IsNullOrWhiteSpace(fun))
- {
- return;
- }
- else
- {
- Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons , lesZones, fun);
- foreach (Requin req in Manager.Requins)
+ Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
+
+
+ foreach (Requin req in Manager.Requins)
+ {
+ if (req.Equals(requin))
{
- if (req.Equals(requin))
- {
- Manager.ModifieRequin(req, requin);
- break;
- }
+ Manager.ModifieRequin(req, requin);
+ break;
}
-
- ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
}
+
+ ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
}
}
}
diff --git a/WpfApp1/UserControlRequin.xaml.cs b/WpfApp1/UserControlRequin.xaml.cs
index 38c234a..97ffde5 100644
--- a/WpfApp1/UserControlRequin.xaml.cs
+++ b/WpfApp1/UserControlRequin.xaml.cs
@@ -1,4 +1,5 @@
-using Modèle;
+using Business;
+using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -22,6 +23,9 @@ namespace WpfApp1
///
public partial class UserControlRequin : UserControl
{
+
+ public Manager Mgr => (Application.Current as App).LeManager;
+
public UserControlRequin()
{
InitializeComponent();
@@ -31,7 +35,19 @@ namespace WpfApp1
public void UserControlReq_MouseDown(object sender, MouseButtonEventArgs e)
{
- ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(this.requin);
+ Mgr.SelectedRequin = requin;
+ if (type == UCrequinType.normal)
+ {
+ ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
+ }
+ else if (type == UCrequinType.edit)
+ {
+
+ }
+ else
+ {
+
+ }
}
private Requin _requin;
@@ -44,7 +60,7 @@ namespace WpfApp1
}
}
-
+ public UCrequinType type;
public void uptadeUi(Requin requin)
{
diff --git a/WpfApp1/userControlAcceuil.xaml.cs b/WpfApp1/userControlAcceuil.xaml.cs
index 26b325f..5072521 100644
--- a/WpfApp1/userControlAcceuil.xaml.cs
+++ b/WpfApp1/userControlAcceuil.xaml.cs
@@ -1,4 +1,6 @@
-using System;
+using Business;
+using Modèle;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -20,6 +22,8 @@ namespace WpfApp1
///
public partial class userControlAcceuil : UserControl
{
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+
public userControlAcceuil()
{
InitializeComponent();
@@ -35,14 +39,37 @@ namespace WpfApp1
private void add_Click(object sender, RoutedEventArgs e)
{
- var addSharkWindow = new AddAShark();
- addSharkWindow.ShowDialog();
+ if (MgrUser.SelectedUser == null)
+ {
+ MessageBox.Show("Vous avez besoin d'être connecté pour accéder à cette fonctionnalité");
+ var seConnecter = new SeConnecter();
+ seConnecter.ShowDialog();
+ }
+ else if (MgrUser.SelectedUser is Utilisateur)
+ {
+ var addSharkWindow = new AddAShark();
+ addSharkWindow.ShowDialog();
+ }
+ else if (MgrUser.SelectedUser is Expert)
+ {
+ var validerSumbit = new ValiderSubmit();
+ validerSumbit.ShowDialog();
+ }
+
}
private void Inscription_Click(object sender, RoutedEventArgs e)
{
- var inscrireWindow = new CreerCompte();
- inscrireWindow.ShowDialog();
+ if (MgrUser.SelectedUser == null)
+ {
+ var inscrireWindow = new CreerCompte();
+ inscrireWindow.ShowDialog();
+ }
+ else
+ {
+ var infoUser = new InfoUtilisateur{ pers = MgrUser.SelectedUser };
+ infoUser.ShowDialog();
+ }
}
}
}
diff --git a/WpfApp1/userControlDescription.xaml.cs b/WpfApp1/userControlDescription.xaml.cs
index c65a99f..75ddf1b 100644
--- a/WpfApp1/userControlDescription.xaml.cs
+++ b/WpfApp1/userControlDescription.xaml.cs
@@ -1,4 +1,5 @@
-using Modèle;
+using Business;
+using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -25,6 +26,8 @@ namespace WpfApp1
{
InitializeComponent();
}
+ public ManagerUsers MgrUser => (Application.Current as App).LeManagerUser;
+ public Manager Mgr => (Application.Current as App).LeManager;
private Requin _requin;
public Requin requin
@@ -42,11 +45,21 @@ namespace WpfApp1
private void exit_Click(object sender, RoutedEventArgs e)
{
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapAcc();
+ Mgr.SelectedRequin = null;
}
private void edit_Click(object sender, RoutedEventArgs e)
{
- ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapEdit(this.requin);
+ if (MgrUser.SelectedUser == null)
+ {
+ MessageBox.Show("Vous avez besoin d'être connecté pour accéder à cette fonctionnalité");
+ var seConnecter = new SeConnecter();
+ seConnecter.ShowDialog();
+ }
+ else
+ {
+ ((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapEdit(requin);
+ }
}