@ -3,96 +3,93 @@ using System.Collections.Generic;
using System.ComponentModel ;
using System.ComponentModel.Design ;
using System.Linq ;
using System.Runtime.Serialization ;
using System.Text ;
using System.Threading.Tasks ;
namespace Biblioteque_de_Class
{
[DataContract]
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 > ( ) ;
[DataMember]
private List < Logo > DefaultLogoList ;
[DataMember]
private List < Theme > ThemeList ;
[DataMember]
private List < User > UserList ;
public Database ( )
{
DefaultLogoList = new List < Logo > ( ) ;
ThemeList = new List < Theme > ( ) ;
UserList = new List < User > ( ) ;
}
public List < Logo > GetListDefaultLogo ( ) { return ListDefaultLogo ; }
public List < Theme > Get List Theme( ) { return List Theme; }
public List < U tili sat eu r> Get ListUtilisateur ( ) { return ListUtilisateur ; }
public List < Logo > Get DefaultLogoList ( ) { return DefaultLogoList ; }
public List < Theme > Get ThemeList ( ) { return ThemeList ; }
public List < U ser> Get User List( ) { return User List; }
/// <summary>
/// recherche un utilisateur dans la liste d'utilisateur
/// </summary>
public List < U tilisateur> RechercherUtilisateu r( string name )
public List < U ser> SearchUse r( string name )
{
List < U tili sat eu r> Li stUserS earch = new List < U tili sat eu r> ( ) ;
List < U ser> searchedUsers = new List < U ser> ( ) ;
string search = name . ToLower ( ) ;
foreach ( U tilisateur user in ListUtilisateur )
foreach ( U ser user in UserList )
{
if ( user . Get Pseudo ( ) . ToLower ( ) . Contains ( search ) ) { Li stUserS earch. Add ( user ) ; }
if ( user . Get Username ( ) . ToLower ( ) . Contains ( search ) ) { searchedUsers . Add ( user ) ; }
}
return Li stUserS earch;
return searchedUsers ;
}
/// <summary>
/// récupérer le lien d'un logo
/// </summary>
public string GetL inkLogo( string N ame)
public string GetL ogoLink( string n ame)
{
foreach ( Logo logo in List DefaultLogo)
foreach ( Logo logo in DefaultLogoList )
{
if ( logo . GetNom ( ) = = Name ) { return logo . GetNom ( ) ; }
} throw new Exception ( "no logo link find" ) ;
if ( logo . GetName ( ) = = name ) { return logo . GetLogoLink ( ) ; }
}
throw new Exception ( "No logo link found." ) ;
}
/// <summary>
/// récupérer un utilisateur
/// </summary>
public Utilisateur GetUtilisateur ( string Name )
{
foreach ( Utilisateur user in ListUtilisateur ) {
if ( user . GetPseudo ( ) = = Name )
public User GetUser ( string name )
{
foreach ( User user in UserList )
{
if ( user . GetUsername ( ) = = name )
{
return user ;
}
} throw new Exception ( "no user find with this pseudo" ) ;
}
throw new Exception ( "No user found with this username." ) ;
}
/// <summary>
/// comparer le mot de passe entré avec celui de l'utilisateur
/// </summary>
public bool Co rrespondPassword( Utilisateur user , string Ps d)
public bool Co mparePassword( User user , string passwor d)
{
if ( user . GetPassword ( ) = = Psd )
{
return true ;
}
else
{
return false ;
}
return user . GetPassword ( ) = = password ;
}
/// <summary>
/// rechercher un mail dans la liste d'utilisateur
/// </summary>
public bool TrouverMail( string mail)
public bool FindEmail ( string email )
{
foreach ( U tilisateur Mail in ListUtilisateur )
foreach ( U ser user in UserList )
{
if ( string . Equals ( mail, M ail) )
if ( string . Equals ( user. GetEmail ( ) , em ail) )
{
return true ;
}
else
{
return false ;
}
}
return false ;
}
@ -100,137 +97,115 @@ namespace Biblioteque_de_Class
/// <summary>
/// ajouter un utilisateur dans la liste d'utilisateur
/// </summary>
public void A jouterUtilisateur( Utilisateu r user )
public void A ddUser( Use r user )
{
foreach ( U tilisateur user1 in ListUtilisateur )
foreach ( U ser existingUser in UserList )
{
if ( user1. GetPseudo ( ) = = user . GetPseudo ( ) )
if ( existingUser. GetUsername ( ) = = user . GetUsername ( ) )
{
throw new Exception ( " Pseudo déjà utilisé ") ;
throw new Exception ( " Username already used. ") ;
}
else if ( user1. GetMail ( ) = = user . GetM ail( ) )
else if ( existingUser. GetEmail ( ) = = user . GetEm ail( ) )
{
throw new Exception ( "Mail déjà utilisé" ) ;
}
else
{
ListUtilisateur . Add ( user ) ;
throw new Exception ( "Email already used." ) ;
}
}
UserList . Add ( user ) ;
}
/// <summary>
/// supprimer un utilisateur dans la liste d'utilisateur
/// </summary>
public void SupUtilisateur( Utilisateu r user )
public void RemoveUser( Use r user )
{
foreach ( Utilisateur user1 in ListUtilisateur )
if ( UserList . Contains ( user ) )
{
if ( user1 . GetPseudo ( ) = = user . GetPseudo ( ) )
{
ListUtilisateur . Remove ( user ) ;
}
else
{
throw new Exception ( "Utilisateur non trouvé" ) ;
}
UserList . Remove ( user ) ;
}
else
{
throw new Exception ( "User not found." ) ;
}
}
/// <summary>
/// ajouter un theme dans la liste de theme
/// </summary>
public void A jouterTheme( Theme s theme)
public void A ddTheme( Theme theme)
{
List < Theme > ListTheme = GetListTheme ( ) ;
foreach ( Theme theme in ListTheme )
foreach ( Theme existingTheme in ThemeList )
{
if ( theme. GetNom ( ) = = stheme . GetNom ( ) )
if ( existingTheme. GetName ( ) = = theme . GetName ( ) )
{
throw new Exception ( "Theme déjà utilisé" ) ;
}
else
{
ListTheme . Add ( stheme ) ;
throw new Exception ( "Theme already used." ) ;
}
}
ThemeList . Add ( theme ) ;
}
/// <summary>
/// supprimer un theme dans la liste de theme
/// </summary>
public void SupTheme( Theme s theme)
public void RemoveTheme( Theme theme)
{
List < Theme > ListTheme = GetListTheme ( ) ;
foreach ( Theme theme in ListTheme )
if ( ThemeList . Contains ( theme ) )
{
if ( theme . GetNom ( ) = = stheme . GetNom ( ) )
{
ListTheme . Remove ( theme ) ;
}
else
{
throw new Exception ( "Theme non trouvé" ) ;
}
ThemeList . Remove ( theme ) ;
}
else
{
throw new Exception ( "Theme not found." ) ;
}
}
/// <summary>
/// récupérer un theme
/// </summary>
public Theme GetTheme ( string N ame)
public Theme GetTheme ( string n ame)
{
List < Theme > ListTheme = GetListTheme ( ) ;
foreach ( Theme theme in ListTheme )
foreach ( Theme theme in ThemeList )
{
if ( theme . GetN om( ) = = N ame)
if ( theme . GetN ame( ) = = n ame)
{
return theme ;
}
}
throw new Exception ( " no theme find with this name ") ;
throw new Exception ( " No theme found with this name. ") ;
}
/// <summary>
/// modifier le nom d'un theme
/// </summary>
public void Modif ierNomTheme( Theme stheme , string N ewName)
public void Modif yThemeName( Theme theme , string n ewName)
{
foreach ( Theme theme1 in List Theme)
foreach ( Theme exis tingT heme in ThemeList )
{
if ( theme1. GetNom ( ) = = stheme . GetNom ( ) )
if ( existingTheme. GetName ( ) = = theme . GetName ( ) )
{
theme1 . SetNom ( NewName ) ;
}
else
{
throw new Exception ( "Theme non trouvé" ) ;
existingTheme . SetName ( newName ) ;
return ;
}
}
throw new Exception ( "Theme not found." ) ;
}
/// <summary>
/// modifier la liste de couleur d'un theme
/// </summary>
public void Modif ierColorListTheme( Theme stheme , List < string > N ewColorList)
public void Modif yThemeColorList( Theme theme , List < string > n ewColorList)
{
foreach ( Theme theme1 in List Theme)
foreach ( Theme exis tingT heme in ThemeList )
{
if ( theme1. GetNom ( ) = = stheme . GetNom ( ) )
if ( existingTheme. GetName ( ) = = theme . GetName ( ) )
{
for ( int i = 0 ; i < 3 ; i + + )
{
theme1 . ChangeColor ( theme1 . GetColor ( i ) , N ewColorList[ i ] ) ;
exis tingT heme. ChangeColor ( exis tingT heme. GetColor ( i ) , n ewColorList[ i ] ) ;
}
}
else
{
throw new Exception ( "Theme non trouvé" ) ;
return ;
}
}
throw new Exception ( "Theme not found." ) ;
}
}
}
}