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 List Utilisateurs { get; private set; } public List Experts { get; private set; } public Personne SelectedUser { get; set; } /// /// DéPENDANCE /// public IPersistanceManager Pers { get; set; } /// /// constructeur avec INJECTION DE LA DéPENDANCE /// public ManagerUsers(IPersistanceManager pers) { Utilisateurs = new List(); Experts = new List(); Pers = pers; } public void LoadUsers() { var data = Pers.LoadUsers(); Utilisateurs.Clear(); foreach (var u in data.users) { Utilisateurs.Add(u); } Experts.Clear(); foreach (var e in data.experts) { Experts.Add(e); } SelectedUser = null; } public void SaveUsers() { Pers.SaveUsers(Utilisateurs, Experts); } 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 bool AjouterExpert(Expert expert) { if (Experts.Contains(expert)) { return false; } Experts.Add(expert); return true; } public bool SupprimerExpert(Expert expert) { if (!Experts.Contains(expert)) { return false; } Experts.Remove(expert); return true; } public Personne GetUtilisateur(Personne 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; } public bool ModifieExpert(Expert oldE, Expert newE) { if (!oldE.Equals(newE)) { return false; } Experts.Remove(oldE); Experts.Add(newE); return true; } } }