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.
237 lines
7.0 KiB
237 lines
7.0 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.ComponentModel.Design;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Biblioteque_de_Class
|
|
{
|
|
public class Database
|
|
{
|
|
private List<Logo> ListDefaultLogo;
|
|
private List<Theme> ListTheme;
|
|
private List<Utilisateur> ListUtilisateur;
|
|
|
|
public Database()
|
|
{
|
|
ListDefaultLogo = new List<Logo>();
|
|
ListTheme = new List<Theme>();
|
|
ListUtilisateur = new List<Utilisateur>();
|
|
}
|
|
|
|
public List<Logo> GetListDefaultLogo() { return ListDefaultLogo; }
|
|
public List<Theme> GetListTheme() { return ListTheme; }
|
|
public List<Utilisateur> GetListUtilisateur() { return ListUtilisateur; }
|
|
|
|
/// <summary>
|
|
/// recherche un utilisateur dans la liste d'utilisateur
|
|
/// </summary>
|
|
public List<Utilisateur> RechercherUtilisateur(string name)
|
|
{
|
|
List<Utilisateur> ListUserSearch = new List<Utilisateur>();
|
|
string search = name.ToLower();
|
|
foreach (Utilisateur user in ListUtilisateur)
|
|
{
|
|
if (user.GetPseudo().ToLower().Contains(search)) { ListUserSearch.Add(user); }
|
|
}
|
|
return ListUserSearch;
|
|
}
|
|
|
|
/// <summary>
|
|
/// récupérer le lien d'un logo
|
|
/// </summary>
|
|
public string GetLinkLogo(string Name)
|
|
{
|
|
foreach (Logo logo in ListDefaultLogo)
|
|
{
|
|
if (logo.GetNom() == Name) { return logo.GetNom(); }
|
|
}throw new Exception("no logo link find");
|
|
}
|
|
|
|
/// <summary>
|
|
/// récupérer un utilisateur
|
|
/// </summary>
|
|
public Utilisateur GetUtilisateur(string Name)
|
|
{
|
|
foreach(Utilisateur user in ListUtilisateur){
|
|
if(user.GetPseudo() == Name)
|
|
{
|
|
return user;
|
|
}
|
|
}throw new Exception("no user find with this pseudo");
|
|
}
|
|
|
|
/// <summary>
|
|
/// comparer le mot de passe entré avec celui de l'utilisateur
|
|
/// </summary>
|
|
public bool CorrespondPassword(Utilisateur user, string Psd)
|
|
{
|
|
if (user.GetPassword() == Psd)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// rechercher un mail dans la liste d'utilisateur
|
|
/// </summary>
|
|
public bool TrouverMail(string mail)
|
|
{
|
|
foreach (Utilisateur Mail in ListUtilisateur)
|
|
{
|
|
if (string.Equals(mail,Mail))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// ajouter un utilisateur dans la liste d'utilisateur
|
|
/// </summary>
|
|
public void AjouterUtilisateur(Utilisateur user)
|
|
{
|
|
foreach (Utilisateur user1 in ListUtilisateur)
|
|
{
|
|
if (user1.GetPseudo() == user.GetPseudo())
|
|
{
|
|
throw new Exception("Pseudo déjà utilisé");
|
|
}
|
|
else if (user1.GetMail() == user.GetMail())
|
|
{
|
|
throw new Exception("Mail déjà utilisé");
|
|
}
|
|
else
|
|
{
|
|
ListUtilisateur.Add(user);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// supprimer un utilisateur dans la liste d'utilisateur
|
|
/// </summary>
|
|
public void SupUtilisateur(Utilisateur user)
|
|
{
|
|
foreach (Utilisateur user1 in ListUtilisateur)
|
|
{
|
|
if (user1.GetPseudo() == user.GetPseudo())
|
|
{
|
|
ListUtilisateur.Remove(user);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("Utilisateur non trouvé");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// ajouter un theme dans la liste de theme
|
|
/// </summary>
|
|
public void AjouterTheme(Theme stheme)
|
|
{
|
|
List<Theme> ListTheme = GetListTheme();
|
|
foreach (Theme theme in ListTheme)
|
|
{
|
|
if (theme.GetNom() == stheme.GetNom())
|
|
{
|
|
throw new Exception("Theme déjà utilisé");
|
|
}
|
|
else
|
|
{
|
|
ListTheme.Add(stheme);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// supprimer un theme dans la liste de theme
|
|
/// </summary>
|
|
public void SupTheme(Theme stheme)
|
|
{
|
|
List<Theme> ListTheme = GetListTheme();
|
|
foreach (Theme theme in ListTheme)
|
|
{
|
|
if (theme.GetNom() == stheme.GetNom())
|
|
{
|
|
ListTheme.Remove(theme);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("Theme non trouvé");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// récupérer un theme
|
|
/// </summary>
|
|
public Theme GetTheme(string Name)
|
|
{
|
|
List<Theme> ListTheme = GetListTheme();
|
|
foreach (Theme theme in ListTheme)
|
|
{
|
|
if (theme.GetNom() == Name)
|
|
{
|
|
return theme;
|
|
}
|
|
}
|
|
throw new Exception("no theme find with this name");
|
|
}
|
|
|
|
/// <summary>
|
|
/// modifier le nom d'un theme
|
|
/// </summary>
|
|
public void ModifierNomTheme( Theme stheme, string NewName)
|
|
{
|
|
foreach (Theme theme1 in ListTheme)
|
|
{
|
|
if (theme1.GetNom() == stheme.GetNom())
|
|
{
|
|
theme1.SetNom(NewName);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("Theme non trouvé");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// modifier la liste de couleur d'un theme
|
|
/// </summary>
|
|
public void ModifierColorListTheme(Theme stheme, List<string> NewColorList)
|
|
{
|
|
foreach (Theme theme1 in ListTheme)
|
|
{
|
|
if (theme1.GetNom() == stheme.GetNom())
|
|
{
|
|
for (int i = 0; i < 3; i++)
|
|
{
|
|
theme1.ChangeColor(theme1.GetColor(i), NewColorList[i]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("Theme non trouvé");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|