namespace MangaMap.Views; using System.Text.RegularExpressions; using System.Threading.Tasks; using MangaMap.Stub; using MangaMap.Model; /// /// Classe représentant la page de connexion administrateur de l'application. /// public partial class loginAdminPage : ContentPage { /// /// Référence au gestionnaire de l'application. /// public Manager my_manager => (App.Current as App).MyManager; /// /// Constructeur de la page de connexion administrateur. /// public loginAdminPage() { InitializeComponent(); } /// /// Gestionnaire d'événement lorsqu'un utilisateur clique sur le bouton "Utilisateur". /// /// L'objet qui a déclenché l'événement. /// Arguments de l'événement. async void userClicked(object sender, EventArgs e) { await Shell.Current.GoToAsync("//page/secondaire/inscriptionPage"); } /// /// Gestionnaire d'événement lorsqu'un utilisateur clique sur le bouton "Connexion". /// /// L'objet qui a déclenché l'événement. /// Arguments de l'événement. async void OnLoginClicked(object sender, EventArgs e) { // Récupération du pseudo et du mot de passe entrés string pseudo = pseudoEntry.Text; string password = passwordEntry.Text; if (string.IsNullOrWhiteSpace(pseudo) || string.IsNullOrWhiteSpace(password)) { await DisplayAlert("Erreur", "Veuillez remplir tous les champs.", "OK"); return; } // Vérifier que l'admin existe Admin admin = my_manager.Admins.FirstOrDefault(a => a.Pseudo == pseudo && a.MotDePasse == password); if (admin == null) { await DisplayAlert("Erreur", "Le mot de passe entré est incorrect.", "OK"); return; } // On garde la connexion admin my_manager.isAdmin = true; // Rediriger l'utilisateur vers la page principale await Shell.Current.GoToAsync("//page/homePage"); } }