|
|
|
@ -3,72 +3,108 @@ using System.Diagnostics;
|
|
|
|
|
|
|
|
|
|
namespace LOLAPP.View
|
|
|
|
|
{
|
|
|
|
|
public partial class Strat : ContentPage
|
|
|
|
|
public partial class Login : ContentPage
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Liste des stratégies.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<Strategie> StratList { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gestionnaire de champion.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Manager Mgr => (App.Current as App).MyManager;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructeur de la classe Strat.
|
|
|
|
|
/// Constructeur de la classe Login.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Strat()
|
|
|
|
|
public Login()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
BindingContext = Mgr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Initialisez la liste des stratégies
|
|
|
|
|
if (Mgr.UtilisateurConnecte != null)
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gestionnaire de l'événement lorsqu'on clique sur le bouton LoginUtilisateur.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclencheur de l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
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 = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gestionnaire de l'événement lorsqu'on clique sur le bouton AddButton.
|
|
|
|
|
/// Gestionnaire de l'événement lorsqu'on clique sur le bouton LogoutUtilisateur.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclencheur de l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
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<Champion> champ = new List<Champion>();
|
|
|
|
|
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 = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gestionnaire de l'événement lorsqu'on clique sur le bouton DeleteButton.
|
|
|
|
|
/// Gestionnaire de l'événement lorsqu'on clique sur le bouton SupprimerUtilisateur.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">L'objet déclencheur de l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
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 = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|