using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
///
/// Cette classe permet d'initialiser une base de données d'utilisateurs, en appelant pour le
/// moment le stub. Elle permet également de manipuler ces données.
///
public class UserBase
{
private List users = null!;
public List ListUsers
{
get
{
return users;
}
private set
{
users = value;
}
}
public UserBase()
{
ListUsers = new Stub().loadUsers();
}
///
/// 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;
}
}
}