using System.ComponentModel; namespace Model { /// /// Permet de faire le lien entre le modèle et la base de donnée.. /// public class Manager : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public IPersistanceManager Pers { get; private set; } /// /// L'inscrit chargé venant de la base de donnée. /// public string SelectedInscrit { get; set; } /// /// Permet d'utiliser les fonctions de hachage. /// public Hash hash = new Hash(); public Banque SelectedBanque { get => selectedBanque; set { if(selectedBanque != value) { selectedBanque = value; OnPropertyChanged(nameof(selectedBanque)); } } } private Banque selectedBanque; /// /// A compléter /// /// void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); public Manager(IPersistanceManager persistance) { Pers = persistance; } /// /// Permet la supression d'un inscrit de la base de donnée. /// /// L'inscrit devant être supprimé de la base de donnée. public void SupprimerInscritBdd(Inscrit i) { Pers.SupprimerInscritBdd(i); } /// /// Permet de charger un inscrit de la base de donnée et le place dans SelectedInscrit. /// /// L'identifiant de l'inscrit devant être chargé. /// Le mot de passe de l'inscrit devant être chargé. public void LoadInscrit(string id, string mdp) { SelectedInscrit = Pers.LoadInscrit(id, mdp); } /// /// Permet de supprimer toute les banques de la base de donnée pour un inscrit placé en paramètre /// /// L'inscrit pour lequel toute les banques doivent être supprimé. public void supprimerToutesBanquesBdd(Inscrit inscrit) { Pers.SupprimerToutesBanquesBdd(inscrit); } /// /// Ajoute un inscrit dans la base de donnée /// /// L'inscrit devant être stocké dans la base de donnée. public void createInscrit(Inscrit inscrit) { Pers.CreateInscrit(inscrit); } /// /// A complété /// /// public string lastInscrit() { return Pers.LastInscrit(); } /// /// Cherche à vérifier si le mail posté en paramètre existe dans la base de donnée /// /// Mail posté par la personne. /// Renvoie true si le mail est bien stocké dans la base de donnée public bool existEmail(string mail) { return Pers.ExistEmail(mail); } /// /// Permet de changer le mot de passe dans la base de donnée pour la mail placé en paramètre. /// /// Mail posté par la personne. /// Nouveau mot de passe devant être stocké dans la base de donnée public void changePasswordBdd(string mail, string newMdp) { Pers.ChangePasswordBdd(mail, newMdp); } /// /// Permet d'obtenir le mot de passe dans la base de donnée d'un mail donnée. /// /// Mail pour laquel on souhaite obtenir le mot de passe. /// Renvoie le mot de passe haché recherché. public string recupMdpBdd(string mail) { return Pers.RecupMdpBdd(mail); } /// /// Permet de comparer un mot de passe de la base de donnée avec un mot de passe posté par l'utilisateur. /// /// Représente le mot de passe haché de la base de donnée. /// Représente le mot de passe posté par l'utilisateur. /// Retourne un booleen égale à True si les deux mots de passe sont les mêmes public bool isEqualHash(string mdpBdd, string mdpSent) { return hash.IsEqualHash(mdpBdd, mdpSent); } } }