correction+part1 strat

master
Cedric CHARBONNEL 2 years ago
parent 545e2c2348
commit 9960fdef0b

@ -8,7 +8,7 @@
<Label Text="Password" />
<Entry x:Name="passwordEntry" IsPassword="True" />
<Button Text="Login" Clicked="LoginUtilisateur_Clicked" />
<Button Text="Logout" Clicked="LogoutUtilisateur_Clicked" />
<Button Text="Suprimer" Clicked="SupprimerUtilisateur_Clicked" />
<Button x:Name="Logout" Text="Logout" Clicked="LogoutUtilisateur_Clicked" IsVisible="false"/>
<Button x:Name="Suprim" Text="Suprimer" Clicked="SupprimerUtilisateur_Clicked" IsVisible="false"/>
</StackLayout>
</ContentPage>

@ -22,6 +22,8 @@ public partial class Login : ContentPage
{
// Connexion réussie
Mgr.UtilisateurConnecte = utilisateur;
Logout.IsVisible = true;
Suprim.IsVisible = true;
DisplayAlert("Succès", "Connexion réussie", "OK");
}
else if (Mgr.UtilisateurConnecte != null)
@ -32,36 +34,29 @@ public partial class Login : ContentPage
else
{
// Informations de connexion incorrectes
passwordEntry.Text = "";
DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK");
}
usernameEntry.Text = "";
passwordEntry.Text = "";
}
private void LogoutUtilisateur_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)
if (Mgr.UtilisateurConnecte!= null)
{
// Connexion réussie
Mgr.UtilisateurConnecte = null;
Logout.IsVisible = false;
Suprim.IsVisible = false;
DisplayAlert("Succès", "Déconnexion réussie", "OK");
}
else if(Mgr.UtilisateurConnecte == null)
else
{
// Utilisateur non connecté
DisplayAlert("Erreur", "Vous n'êtes pas connecter", "OK");
}
else
{
// Informations de connexion incorrectes
DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK");
}
usernameEntry.Text = "";
passwordEntry.Text = "";
@ -69,22 +64,22 @@ public partial class Login : ContentPage
private void SupprimerUtilisateur_Clicked(object sender, EventArgs e)
{
string username = usernameEntry.Text;
string password = passwordEntry.Text;
// Recherche de l'utilisateur dans la liste
Utilisateur utilisateur = Mgr._utilisateur.FirstOrDefault(u => u.Username == username && u.Password == password);
if (utilisateur != null)
// Verification de connection
if (Mgr.UtilisateurConnecte != null)
{
// Suppression de l'utilisateur
Mgr.RemoveUtilisateur(utilisateur);
Mgr.RemoveUtilisateur(Mgr.UtilisateurConnecte);
Mgr.UtilisateurConnecte = null;
Mgr.Sauvdon();
DisplayAlert("Succès", "Utilisateur supprimé avec succès", "OK");
Logout.IsVisible = false;
Suprim.IsVisible = false;
DisplayAlert("Succès", "Compte supprimé avec succès", "OK");
}
else
{
// Utilisateur non trouvé
DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK");
DisplayAlert("Erreur", "Vous n'êtes pas connecté", "OK");
}
usernameEntry.Text = "";

@ -2,25 +2,38 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LOLAPP.View.Strat"
Title="Strat">
<StackLayout BackgroundColor="DarkGrey">
<HorizontalStackLayout BackgroundColor="DarkGrey">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListView x:Name="stratListView"
<StackLayout WidthRequest="350" BackgroundColor="Black" >
<ListView x:Name="stratListView" WidthRequest="0"
Grid.Column="0"
ItemsSource="{Binding StratList}"
/>
<!-- SelectedItemChanged="StratListView_OnItemSelected"-->
<StackLayout x:Name="detailsLayout"
Grid.Column="1">
<Label x:Name="nameLabel"
FontSize="Large" />
<StackLayout x:Name="championsLayout"
Orientation="Horizontal" />
<Label x:Name="descriptionLabel" />
ItemsSource="{Binding StratList}"/>
<Button Text="Add" Clicked="AddButton_Clicked" WidthRequest="350" BackgroundColor="Black"/>
</StackLayout>
</Grid>
</StackLayout>
<Label x:Name="nameLabel"
FontSize="Large"
Text="{Binding SelectedStrategie.Name}" />
<ListView x:Name="championsListView"
ItemsSource="{Binding SelectedStrategie.Champions}"
HasUnevenRows="True"
SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Vertical" Padding="10">
<Image Source="{Binding Image}" WidthRequest="50" HeightRequest="50" />
<Label Text="{Binding Name}" VerticalOptions="Center" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Label x:Name="descriptionLabel"
Text="{Binding SelectedStrategie.Description}" />
</HorizontalStackLayout>
</ContentPage>

@ -12,35 +12,43 @@ namespace LOLAPP.View
InitializeComponent();
// Initialisez la liste des stratégies
StratList = Mgr.UtilisateurConnecte._strat;
if (Mgr.UtilisateurConnecte != null)
{
StratList = Mgr.UtilisateurConnecte._strat;
}
else
{
StratList = null;
}
// Liez la liste des stratégies à la ListView
// stratListView.ItemsSource = StratList;
// Définissez le contexte de liaison de la collection sur cette page
BindingContext = this;
}
/* private void StratListView_OnItemSelected(object sender, SelectedItemChangedEventArgs e)
private void AddButton_Clicked(object sender, EventArgs e)
{
if (e.SelectedItem is Strategie selectedStrat)
{
UpdateDetails(selectedStrat);
}
// Créer une nouvelle instance de Strategie et l'ajouter à StratList
List <Champion> champ = new();
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);
// Faire défiler la ListView vers le nouvel élément ajouté
stratListView.ScrollTo(nouvelleStrategie, ScrollToPosition.End, true);
}
private void UpdateDetails(Strategie strat)
{
nameLabel.Text = strat.Name;
championsLayout.Children.Clear();
foreach (var champion in strat.Champions.Take(5))
{
var image = new Image
{
Source = champion.Image
};
championsLayout.Children.Add(image);
}
private void DeleteButton_Clicked(object sender, EventArgs e)
{
var button = (Button)sender;
var strat = (Strategie)button.CommandParameter;
descriptionLabel.Text = strat.Description;
}*/
// Gérez la suppression de la stratégie spécifiée ici
// Exemple : StratList.Remove(strat);
}
}
}

@ -12,8 +12,8 @@ namespace Models
{
public List<Champion> _champions { get; private set; }
public List<Utilisateur> _utilisateur { get; private set; }
public IPersistanceManager Persistance { get; set; }
public Utilisateur UtilisateurConnecte { get; set; } = null; //rajouté pour login register
public IPersistanceManager? Persistance { get; set; }
public Utilisateur? UtilisateurConnecte { get; set; } = null; //rajouté pour login register
public Manager(IPersistanceManager Pers)
{
@ -40,7 +40,7 @@ namespace Models
public void Chargdon() {
var don = Persistance.Chargdon();
var don = Persistance!.Chargdon();
_champions.AddRange(don.Item1);
_utilisateur.AddRange(don.Item2);
@ -48,7 +48,7 @@ namespace Models
public void Sauvdon()
{
Persistance.Sauvdon(_champions, _utilisateur);
Persistance?.Sauvdon(_champions, _utilisateur);
}
}
}
Loading…
Cancel
Save