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.
notus/notus/Biblioteque_de_Class/Database.cs

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é");
}
}
}
}
}