You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SAE_2.01_-_Developpement_du.../Sources/Persistance/UserManager.cs

101 lines
2.8 KiB

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<User> users = null!;
public List<User> ListUsers
{
get
{
return users;
}
private set
{
users = value;
}
}
void addUser(User u)
{
throw new NotImplementedException();
}
void removeUser(User u)
{
throw new NotImplementedException();
}
public List<User> loadUsers()
{
return Pers.loadUsers();
}
public void saveUsers(List<User> users)
{
Pers.saveUsers(users);
}
//CHANGER VISIBILITE CAR ATTENTION
//Pers.saveUsers(users);
/// <summary>
/// Cette méthode vérifie si l'utilisateur est présent dans la base de données
/// </summary>
/// <param name="username">Identifiant (pseudo) de l'utilisateur</param>
/// <param name="password">Mot de passe de l'utilisateur</param>
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 LoaderStub().loadUsers(); //CHOIX ICI DE LA METHODE DE CHARGEMENT INITIAL DES UTILISATEURS
}
}
}