correction+part1 strat

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

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

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

@ -2,25 +2,38 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LOLAPP.View.Strat" x:Class="LOLAPP.View.Strat"
Title="Strat"> Title="Strat">
<StackLayout BackgroundColor="DarkGrey"> <HorizontalStackLayout BackgroundColor="DarkGrey">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<ListView x:Name="stratListView" <StackLayout WidthRequest="350" BackgroundColor="Black" >
<ListView x:Name="stratListView" WidthRequest="0"
Grid.Column="0" Grid.Column="0"
ItemsSource="{Binding StratList}" ItemsSource="{Binding StratList}"/>
/> <Button Text="Add" Clicked="AddButton_Clicked" WidthRequest="350" BackgroundColor="Black"/>
<!-- 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" />
</StackLayout> </StackLayout>
</Grid> </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> </ContentPage>

@ -12,35 +12,43 @@ namespace LOLAPP.View
InitializeComponent(); InitializeComponent();
// Initialisez la liste des stratégies // 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 // Définissez le contexte de liaison de la collection sur cette page
// stratListView.ItemsSource = StratList; BindingContext = this;
} }
/* private void StratListView_OnItemSelected(object sender, SelectedItemChangedEventArgs e) private void AddButton_Clicked(object sender, EventArgs e)
{ {
if (e.SelectedItem is Strategie selectedStrat) // Créer une nouvelle instance de Strategie et l'ajouter à StratList
{ List <Champion> champ = new();
UpdateDetails(selectedStrat); 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(); private void DeleteButton_Clicked(object sender, EventArgs e)
foreach (var champion in strat.Champions.Take(5)) {
{ var button = (Button)sender;
var image = new Image var strat = (Strategie)button.CommandParameter;
{
Source = champion.Image
};
championsLayout.Children.Add(image);
}
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<Champion> _champions { get; private set; }
public List<Utilisateur> _utilisateur { get; private set; } public List<Utilisateur> _utilisateur { get; private set; }
public IPersistanceManager Persistance { get; set; } public IPersistanceManager? Persistance { get; set; }
public Utilisateur UtilisateurConnecte { get; set; } = null; //rajouté pour login register public Utilisateur? UtilisateurConnecte { get; set; } = null; //rajouté pour login register
public Manager(IPersistanceManager Pers) public Manager(IPersistanceManager Pers)
{ {
@ -40,7 +40,7 @@ namespace Models
public void Chargdon() { public void Chargdon() {
var don = Persistance.Chargdon(); var don = Persistance!.Chargdon();
_champions.AddRange(don.Item1); _champions.AddRange(don.Item1);
_utilisateur.AddRange(don.Item2); _utilisateur.AddRange(don.Item2);
@ -48,7 +48,7 @@ namespace Models
public void Sauvdon() public void Sauvdon()
{ {
Persistance.Sauvdon(_champions, _utilisateur); Persistance?.Sauvdon(_champions, _utilisateur);
} }
} }
} }
Loading…
Cancel
Save