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 LoadUsers() { utilisateurs.Clear(); utilisateurs.AddRange(Pers.LoadUsers()); SelectedUser = null; } public void SaveUsers() { Pers.SaveUsers(utilisateurs); } public bool AjouterUtilisateur(Personne user) { if (utilisateurs.Contains(user)) { return false; } utilisateurs.Add(user); return true; } public bool SupprimerUtilisateur(Personne user) { if (!utilisateurs.Contains(user)) { return false; } utilisateurs.Remove(user); return true; } public Personne GetUtilisateur(Personne user) { return utilisateurs.SingleOrDefault(r => r.Equals(user)); } public bool ModifieUtilisateur(Personne oldU, Personne newU) { if (!oldU.Equals(newU)) { return false; } utilisateurs.Remove(oldU); utilisateurs.Add(newU); return true; } } }