diff --git a/Business/ManagerUsers.cs b/Business/ManagerUsers.cs new file mode 100644 index 0000000..97a7085 --- /dev/null +++ b/Business/ManagerUsers.cs @@ -0,0 +1,87 @@ +using Modèle; +using Persistance; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Business +{ + public class ManagerUsers + { + public ReadOnlyCollection Utilisateurs { get; private set; } + private List utilisateurs = new List(); + public Personne SelectedUser { get; set; } + + /// + /// DéPENDANCE + /// + + public IPersistanceManager Pers { get; private set; } + + /// + /// constructeur avec INJECTION DE LA DéPENDANCE + /// + + public ManagerUsers(IPersistanceManager pers) + { + Utilisateurs = new ReadOnlyCollection(utilisateurs); + Pers = pers; + } + public void LoadRequins() + { + utilisateurs.Clear(); + utilisateurs.AddRange(Pers.LoadUsers()); + if (utilisateurs.Count > 0) + { + SelectedUser = utilisateurs.First(); + } + } + + public void SaveUsers() + { + Pers.SaveUsers(utilisateurs); + } + + public bool AjouterUtilisateur(Utilisateur user) + { + if (utilisateurs.Contains(user)) + { + return false; + + } + utilisateurs.Add(user); + return true; + } + + public bool SupprimerUtilisateur(Utilisateur user) + { + if (!utilisateurs.Contains(user)) + { + return false; + } + utilisateurs.Remove(user); + return true; + } + + public Utilisateur GetUtilisateur(Utilisateur user) + { + return utilisateurs.SingleOrDefault(r => r.Equals(user)); + } + + public bool ModifieUtilisateur(Utilisateur oldU, Utilisateur newU) + { + if (!oldU.Equals(newU)) + { + return false; + } + utilisateurs.Remove(oldU); + utilisateurs.Add(newU); + return true; + } + + + } +} diff --git a/Persistance/IPersistanceManager.cs b/Persistance/IPersistanceManager.cs index 5dd988d..0875d20 100644 --- a/Persistance/IPersistanceManager.cs +++ b/Persistance/IPersistanceManager.cs @@ -11,5 +11,8 @@ namespace Persistance { List LoadRequins(); void SaveRequins(List reqs); + List LoadUsers(); + void SaveUsers(List reqs); + } } \ No newline at end of file diff --git a/StubLib/Stub.cs b/StubLib/Stub.cs index 1d7759a..69a87e7 100644 --- a/StubLib/Stub.cs +++ b/StubLib/Stub.cs @@ -10,13 +10,19 @@ namespace StubLib private List requins = new List(); + private List utilisateurs = new List(); + public Stub() { + // Requins List zone = new List { Zone.ATLANTIQUE }; List zone2 = new List { Zone.PACIFIQUE }; requins.Add(new Requin("mon requin adoré", "trop cool ce requin", "wow il est trop bo", "Images/Dormeur-Mexicain.jpg", "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 + } public List LoadRequins() @@ -28,5 +34,15 @@ namespace StubLib { requins = reqs; } + + public List LoadUsers() + { + return new List(utilisateurs); + } + + public void SaveUsers(List users) + { + utilisateurs = users; + } } }