using Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Persistance { public class UserManager : IUserDataManager { public IUserDataManager Pers { get; set; } private List users = null!; public List ListUsers { get { return users; } private set { users = value; } } void addUser(User u) { throw new NotImplementedException(); } void removeUser(User u) { throw new NotImplementedException(); } public List loadUsers() { return Pers.loadUsers(); } public void saveUsers(List users) { Pers.saveUsers(users); } //CHANGER VISIBILITE CAR ATTENTION //Pers.saveUsers(users); /// /// Cette méthode vérifie si l'utilisateur est présent dans la base de données /// /// Identifiant (pseudo) de l'utilisateur /// Mot de passe de l'utilisateur public bool checkIfExists(string username, string password) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { return false; } foreach (User u in ListUsers) { if (checkIfPseudoExists(username) && u.verifyPssw(password)) { return true; } } return false; } public bool checkIfPseudoExists(string username) { if (string.IsNullOrEmpty(username)) { return false; } return (from User u in ListUsers where username.Equals(u.Pseudo) select true).FirstOrDefault(); } public bool addUser(string pseudo, string nom, string prenom, string pssw) { bool exists = checkIfExists(pseudo, pssw); if ( exists ) // Si le nom d'utilisateur a été trouvé dans la base de données { return false; } User user = new User(pseudo, nom, prenom, pssw); //POUR L'INSTANT, de manière non permanente ListUsers.Add(user); return true; } public UserManager(IUserDataManager dataMngr) { Pers = dataMngr; ListUsers = new LoaderXml().loadUsers(); //CHOIX ICI DE LA METHODE DE CHARGEMENT INITIAL DES UTILISATEURS } } }