diff --git a/GameAtlas/GameAtlas/Models/Utilisateur.cs b/GameAtlas/GameAtlas/Models/Utilisateur.cs index e33311e..b61171c 100644 --- a/GameAtlas/GameAtlas/Models/Utilisateur.cs +++ b/GameAtlas/GameAtlas/Models/Utilisateur.cs @@ -1,46 +1,46 @@ -using GameAtlas.Views; -using System; -using System.Collections.Generic; +using GameAtlas.Views; +using System; +using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Linq; -using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; - -namespace GameAtlas.Models -{ - [DataContract] - public class Utilisateur - { - [DataMember] - public string Mail { get; private set; } - [DataMember] - public string Pseudo { get; private set; } - [DataMember] - public string Mdp { get; private set; } - [DataMember] - public string DateCreation { get; private set; } - [DataMember] - public ObservableCollection ListePossedes { get; private set; } - [DataMember] - public ObservableCollection ListeFavoris { get; private set; } - - public Utilisateur(string mail, string pseudo, string mdp) - { - Mail = mail; - Pseudo = pseudo; - Mdp = mdp; - DateCreation = "Compte créer le "+DateTime.Today.ToString("d"); - ListePossedes = new ObservableCollection(); - ListeFavoris = new ObservableCollection(); - } - - - - public int Connexion(string pseudo, string mdp) { return 0; } - public int Inscription(string mail, string pseudo, string mdp) { return 0; } - public void AjouterCom(Jeu jeu, string com) { } - public void SupprimerCom(Jeu jeu, string com) { } - public void AjouterEvaluation(Jeu jeu, int nbEtoiles) { } - } -} +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace GameAtlas.Models +{ + [DataContract] + public class Utilisateur + { + [DataMember] + public string Mail { get; private set; } + [DataMember] + public string Pseudo { get; private set; } + [DataMember] + public string Mdp { get; private set; } + [DataMember] + public string DateCreation { get; private set; } + [DataMember] + public ObservableCollection ListePossedes { get; private set; } + [DataMember] + public ObservableCollection ListeFavoris { get; private set; } + + public Utilisateur(string mail, string pseudo, string mdp) + { + Mail = mail; + Pseudo = pseudo; + Mdp = mdp; + DateCreation = "Compte créer le "+DateTime.Today.ToString("d"); + ListePossedes = new ObservableCollection(); + ListeFavoris = new ObservableCollection(); + } + + + + public int Connexion(string pseudo, string mdp) { return 0; } + public int Inscription(string mail, string pseudo, string mdp) { return 0; } + public void AjouterCom(Jeu jeu, string com) { } + public void SupprimerCom(Jeu jeu, string com) { } + public void AjouterEvaluation(Jeu jeu, int nbEtoiles) { } + } +} diff --git a/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs b/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs index 955318a..b68fede 100644 --- a/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs +++ b/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs @@ -1,4 +1,4 @@ -using GameAtlas.Models; +using GameAtlas.Models; using System.Diagnostics; namespace GameAtlas.Views; @@ -7,6 +7,9 @@ public partial class PageJeu : ContentPage { public Jeu JeuModel { get; set; } + string PresenceFavoris = ""; + string PresencePossedes = ""; + //public Manager JeuManager { get; set; } = new Manager(); public Manager JeuManager => (App.Current as App).MyManager; @@ -31,22 +34,58 @@ public partial class PageJeu : ContentPage async void OnAddTapped(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e) { - string action = await DisplayActionSheet("Choix de la liste:", "Annuler", null, "Mes Favoris", "Jeux Possds"); - Debug.WriteLine("Popup Action: " + action); - if (JeuManager.ConnectedUser != null) { - if (action == "Mes Favoris") + foreach (Jeu jeu in JeuManager.ConnectedUser.ListeFavoris) + { + if (jeu.Nom == JeuModel.Nom) + { + PresenceFavoris = " ✔️"; + } + } + + foreach (Jeu jeu in JeuManager.ConnectedUser.ListePossedes) + { + if (jeu.Nom == JeuModel.Nom) + { + PresencePossedes = " ✔️"; + } + } + + string action = await DisplayActionSheet("Choix de la liste:", "Annuler", null, "Mes Favoris"+PresenceFavoris, "Jeux Possédés"+PresencePossedes); + Debug.WriteLine("Popup Action: " + action); + + if (action == "Mes Favoris" + PresenceFavoris) { - JeuManager.ConnectedUser.ListeFavoris.Add(JeuModel); - Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} la Liste Favoris de {JeuManager.ConnectedUser.Pseudo}."); + if (PresenceFavoris == " ✔️") + { + await DisplayAlert("Jeu Retiré", $"Vous avez retiré {JeuModel.Nom} de votre liste de jeux favoris.", "Ok"); + JeuManager.ConnectedUser.ListeFavoris.Remove(JeuModel); + PresenceFavoris = ""; + } + else + { + JeuManager.ConnectedUser.ListeFavoris.Add(JeuModel); + Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} à la Liste Favoris de {JeuManager.ConnectedUser.Pseudo}."); + await DisplayAlert("Jeu Ajouté", $"{JeuModel.Nom} a été ajoutée dans votre liste de jeux favoris.", "Ok"); + } JeuManager.OnPropertyChanged(nameof(JeuManager.ConnectedUser)); JeuManager.SauvegardeDonnees(); } - else if (action == "Jeux Possds") + else if (action == "Jeux Possédés" + PresencePossedes) { - JeuManager.ConnectedUser.ListePossedes.Add(JeuModel); - Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} la Liste Possds de {JeuManager.ConnectedUser.Pseudo}."); + if (PresencePossedes == " ✔️") + { + await DisplayAlert("Jeu Retiré", $"Vous avez retiré {JeuModel.Nom} de votre liste de jeux possédés.", "Ok"); + JeuManager.ConnectedUser.ListePossedes.Remove(JeuModel); + PresencePossedes = ""; + } + else + { + JeuManager.ConnectedUser.ListePossedes.Add(JeuModel); + Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} à la Liste Possédés de {JeuManager.ConnectedUser.Pseudo}."); + await DisplayAlert("Jeu Ajouté", $"{JeuModel.Nom} a été ajoutée dans votre liste de jeux possédés.", "Ok"); + } JeuManager.OnPropertyChanged(nameof(JeuManager.ConnectedUser)); JeuManager.SauvegardeDonnees(); } @@ -55,7 +94,6 @@ public partial class PageJeu : ContentPage { await DisplayAlert("Erreur", "Vous devez vous connecter pour faire cela !", "Ok"); } - return; } async void Back_Tapped(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e) diff --git a/GameAtlas/GameAtlas/Views/PageParcourir.xaml b/GameAtlas/GameAtlas/Views/PageParcourir.xaml index 3509be3..4382280 100644 --- a/GameAtlas/GameAtlas/Views/PageParcourir.xaml +++ b/GameAtlas/GameAtlas/Views/PageParcourir.xaml @@ -45,8 +45,6 @@ - - diff --git a/GameAtlas/GameAtlas/Views/PageProfil.xaml b/GameAtlas/GameAtlas/Views/PageProfil.xaml index a67afd8..6a29650 100644 --- a/GameAtlas/GameAtlas/Views/PageProfil.xaml +++ b/GameAtlas/GameAtlas/Views/PageProfil.xaml @@ -37,7 +37,7 @@ - + @@ -88,11 +88,7 @@ - - - - - + diff --git a/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs b/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs index c8aa083..26126a8 100644 --- a/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs +++ b/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs @@ -10,7 +10,7 @@ public partial class PageProfil : ContentPage InitializeComponent(); BindingContext = ProfilManager; SwitchPage(); - } + } async void SwitchPage() { @@ -24,9 +24,15 @@ public partial class PageProfil : ContentPage } } - async void OnGame_Tapped(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e) + async void OnGame_Tapped(System.Object sender, EventArgs e) { - await Shell.Current.GoToAsync(nameof(PageJeu)); + var selectedjeu = (sender as ImageButton)?.BindingContext as Jeu; + if (selectedjeu != null) + { + //await Shell.Current.GoToAsync(nameof(PageJeu(selectedjeu)); ---- Ne marche pas ---- + await Navigation.PushAsync(new PageJeu(selectedjeu)); + } + } async void OnAdmin_Tapped(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e)