From eef76e08f58229bd47b95a60f3b32a3845d56a62 Mon Sep 17 00:00:00 2001 From: "cedric.charbonnel" Date: Sat, 10 Jun 2023 16:35:08 +0200 Subject: [PATCH] correction login --- LOLAPP/LOLAPP/View/Login.xaml.cs | 106 +++++++++++++++++++--------- LOLAPP/LOLAPP/View/Register.xaml.cs | 2 +- LOLAPP/LOLAPP/View/Strat.xaml.cs | 4 +- 3 files changed, 74 insertions(+), 38 deletions(-) diff --git a/LOLAPP/LOLAPP/View/Login.xaml.cs b/LOLAPP/LOLAPP/View/Login.xaml.cs index 28b4041..0c9db53 100644 --- a/LOLAPP/LOLAPP/View/Login.xaml.cs +++ b/LOLAPP/LOLAPP/View/Login.xaml.cs @@ -3,72 +3,108 @@ using System.Diagnostics; namespace LOLAPP.View { - public partial class Strat : ContentPage + public partial class Login : ContentPage { - /// - /// Liste des stratégies. - /// - public List StratList { get; set; } - /// /// Gestionnaire de champion. /// public Manager Mgr => (App.Current as App).MyManager; /// - /// Constructeur de la classe Strat. + /// Constructeur de la classe Login. /// - public Strat() + public Login() { InitializeComponent(); + BindingContext = Mgr; + } - // Initialisez la liste des stratégies - if (Mgr.UtilisateurConnecte != null) + /// + /// Gestionnaire de l'événement lorsqu'on clique sur le bouton LoginUtilisateur. + /// + /// L'objet déclencheur de l'événement. + /// Les arguments de l'événement. + private void LoginUtilisateur_Clicked(object sender, EventArgs e) + { + string username = usernameEntry.Text; + string password = passwordEntry.Text; + + // Vérifier si l'utilisateur existe et les informations de connexion sont valides + Utilisateur utilisateur = Mgr._utilisateur.FirstOrDefault(u => u.Username == username && u.Password == password); + if (utilisateur != null && Mgr.UtilisateurConnecte == null) + { + // Connexion réussie + Mgr.UtilisateurConnecte = utilisateur; + Logout.IsVisible = true; + Suprim.IsVisible = true; + DisplayAlert("Succès", "Connexion réussie", "OK"); + } + else if (Mgr.UtilisateurConnecte != null) { - StratList = Mgr.UtilisateurConnecte._strat; + // Utilisateur déjà connecté + DisplayAlert("Erreur", "Vous êtes déjà connecté", "OK"); } else { - StratList = null; + // Informations de connexion incorrectes + passwordEntry.Text = ""; + DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK"); } - - // Définissez le contexte de liaison de la collection sur cette page - BindingContext = this; + passwordEntry.Text = ""; } /// - /// Gestionnaire de l'événement lorsqu'on clique sur le bouton AddButton. + /// Gestionnaire de l'événement lorsqu'on clique sur le bouton LogoutUtilisateur. /// /// L'objet déclencheur de l'événement. /// Les arguments de l'événement. - private void AddButton_Clicked(object sender, EventArgs e) + private void LogoutUtilisateur_Clicked(object sender, EventArgs e) { - // Crée une nouvelle instance de Strategie et l'ajoute à StratList - List champ = new List(); - champ.Add(Mgr._champions[0]); - champ.Add(Mgr._champions[1]); - champ.Add(Mgr._champions[2]); - champ.Add(Mgr._champions[3]); - champ.Add(Mgr._champions[4]); - Strategie nouvelleStrategie = new Strategie("test", "allllooo", champ); - StratList.Add(nouvelleStrategie); + // Vérifier si l'utilisateur est connecté + if (Mgr.UtilisateurConnecte != null) + { + // Déconnexion réussie + Mgr.UtilisateurConnecte = null; + Logout.IsVisible = false; + Suprim.IsVisible = false; + DisplayAlert("Succès", "Déconnexion réussie", "OK"); + } + else + { + // Utilisateur non connecté + DisplayAlert("Erreur", "Vous n'êtes pas connecté", "OK"); + } - // Fait défiler la ListView vers le nouvel élément ajouté - stratListView.ScrollTo(nouvelleStrategie, ScrollToPosition.End, true); + usernameEntry.Text = ""; + passwordEntry.Text = ""; } /// - /// Gestionnaire de l'événement lorsqu'on clique sur le bouton DeleteButton. + /// Gestionnaire de l'événement lorsqu'on clique sur le bouton SupprimerUtilisateur. /// /// L'objet déclencheur de l'événement. /// Les arguments de l'événement. - private void DeleteButton_Clicked(object sender, EventArgs e) + private void SupprimerUtilisateur_Clicked(object sender, EventArgs e) { - var button = (Button)sender; - var strat = (Strategie)button.CommandParameter; + // Vérification de la connexion de l'utilisateur + if (Mgr.UtilisateurConnecte != null) + { + // Suppression de l'utilisateur + Mgr.RemoveUtilisateur(Mgr.UtilisateurConnecte); + Mgr.UtilisateurConnecte = null; + Mgr.Sauvdon(); + Logout.IsVisible = false; + Suprim.IsVisible = false; + DisplayAlert("Succès", "Compte supprimé avec succès", "OK"); + } + else + { + // Utilisateur non trouvé + DisplayAlert("Erreur", "Vous n'êtes pas connecté", "OK"); + } - // Gère la suppression de la stratégie spécifiée ici - // Exemple : StratList.Remove(strat); + usernameEntry.Text = ""; + passwordEntry.Text = ""; } } -} \ No newline at end of file +} diff --git a/LOLAPP/LOLAPP/View/Register.xaml.cs b/LOLAPP/LOLAPP/View/Register.xaml.cs index 97c6738..bbb91aa 100644 --- a/LOLAPP/LOLAPP/View/Register.xaml.cs +++ b/LOLAPP/LOLAPP/View/Register.xaml.cs @@ -6,7 +6,7 @@ namespace LOLAPP.View public partial class Register : ContentPage { /// - /// Gestionnaire de champion. + /// Gestionnaire d'utilisateur. /// public Manager Mgr => (App.Current as App).MyManager; diff --git a/LOLAPP/LOLAPP/View/Strat.xaml.cs b/LOLAPP/LOLAPP/View/Strat.xaml.cs index 7b43fae..0627729 100644 --- a/LOLAPP/LOLAPP/View/Strat.xaml.cs +++ b/LOLAPP/LOLAPP/View/Strat.xaml.cs @@ -11,7 +11,7 @@ namespace LOLAPP.View public List StratList { get; set; } /// - /// Gestionnaire de champion. + /// Gestionnaire de champion et d'utilisateur. /// public Manager Mgr => (App.Current as App).MyManager; @@ -71,4 +71,4 @@ namespace LOLAPP.View // Exemple : StratList.Remove(strat); } } -} \ No newline at end of file +}