diff --git a/MangaMap/App.xaml.cs b/MangaMap/App.xaml.cs index d992022..d0dfd42 100644 --- a/MangaMap/App.xaml.cs +++ b/MangaMap/App.xaml.cs @@ -19,11 +19,12 @@ public partial class App : Application if (File.Exists(Path.Combine(FilePath, FileName))) { - MyManager = new Manager(new Stub.DataContract()); //pour utiliser le dataContract comme moyen de persistance. + MyManager = new Manager(new Stub.Stub()); //pour utiliser le dataContract comme moyen de persistance. } - MyManager.charger(); + //MyManager.charger(); MyManager.Admins.Add(MyAdmin); + MyManager.UtilisateurActuel = MyManager.charger(); MainPage = new AppShell(); @@ -32,7 +33,7 @@ public partial class App : Application MyManager.Persistance = new DataContract(); //pour utiliser le stub comme moyen de persistance. } - MyManager.sauvegarder(); + //MyManager.sauvegarder(); Console.WriteLine("sauvegarde faite"); } } diff --git a/MangaMap/Model/Manager.cs b/MangaMap/Model/Manager.cs index 223bb2b..9d9b3e2 100644 --- a/MangaMap/Model/Manager.cs +++ b/MangaMap/Model/Manager.cs @@ -30,19 +30,25 @@ namespace MangaMap.Model Admins = new List(); Utilisateurs = new List(); Oeuvres = new List(); - UtilisateurActuel = null; + UtilisateurActuel = new Utilisateur(); } - public void charger() + public Utilisateur charger() { - var donne = Persistance.chargeDonne(); - foreach (var item in donne.Item1) + var donnees = Persistance.chargeDonne(); + foreach (var item in donnees.Item1) { Oeuvres.Add(item); } - Utilisateurs.AddRange(donne.Item2); + Utilisateurs.AddRange(donnees.Item2); + + // récupérer le premier utilisateur de la liste Utilisateurs : + Utilisateur utilisateurActuel = Utilisateurs.FirstOrDefault(); + + return utilisateurActuel; // Renvoyez l'utilisateur actuel } + public void sauvegarder() { Persistance.sauvegarder(Oeuvres, Utilisateurs); diff --git a/MangaMap/Model/Utilisateur.cs b/MangaMap/Model/Utilisateur.cs index c0b79c1..57079ab 100644 --- a/MangaMap/Model/Utilisateur.cs +++ b/MangaMap/Model/Utilisateur.cs @@ -40,6 +40,13 @@ namespace MangaMap.Model ListeOeuvreFavorites = new List(); } + public Utilisateur() { + ListeOeuvreEnVisionnage = new List(); + ListeOeuvreDejaVu = new List(); + ListeOeuvrePourPlusTard = new List(); + ListeOeuvreFavorites = new List(); + } + public void SupprimerUtilisateur() { this.nom = null; diff --git a/MangaMap/Stub/Stub.cs b/MangaMap/Stub/Stub.cs index 7da9893..10d0e3d 100644 --- a/MangaMap/Stub/Stub.cs +++ b/MangaMap/Stub/Stub.cs @@ -17,7 +17,7 @@ namespace MangaMap.Stub List l1 = new List(); List l2 = new List(); - Utilisateur u1 = new Utilisateur("test@test.ts", "Pseudo1", "MotDePasse123", "Jean", "Baptiste", 12); + Utilisateur u1 = new Utilisateur("t", "Pseudo1", "123", "Jean", "Baptiste", 12); Utilisateur u2 = new Utilisateur("test@test.ts", "Pseudo2", "MotDePasse123", "Baptiste", "Jean", 12); Utilisateur u3 = new Utilisateur("test@test.ts", "Pseudo3", "MotDePasse123", "David", "Marc", 12); List genres = new List(); @@ -29,6 +29,8 @@ namespace MangaMap.Stub l1.Add(o1); l1.Add(o2); l2.Add(u1); l2.Add(u2); l2.Add(u3); + u1.ListeOeuvreEnVisionnage.Add(o1); + return (l1, l2); } diff --git a/MangaMap/Views/FicheAnime.xaml.cs b/MangaMap/Views/FicheAnime.xaml.cs index 2cda192..6f7ad15 100644 --- a/MangaMap/Views/FicheAnime.xaml.cs +++ b/MangaMap/Views/FicheAnime.xaml.cs @@ -1,6 +1,7 @@ namespace MangaMap.Views; using Model; using System.ComponentModel; +using System.Diagnostics; using System.Xml.Linq; public partial class ficheAnime : ContentPage, INotifyPropertyChanged @@ -35,7 +36,15 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged return; } + if (my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage == null) + { + // Initialisez la liste si elle est nulle + //my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage = new List(); + } + Debug.WriteLine("Iciii"); + my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage.Add(AnimeModel); + Debug.WriteLine("Okkkkkkkkkkkk"); // Naviguez vers la page de la fiche d'anime en passant l'objet sélectionné await Navigation.PushAsync(new listPage()); } diff --git a/MangaMap/Views/listPage.xaml b/MangaMap/Views/listPage.xaml index 48591f9..f2f1fc2 100644 --- a/MangaMap/Views/listPage.xaml +++ b/MangaMap/Views/listPage.xaml @@ -40,7 +40,6 @@ - diff --git a/MangaMap/Views/loginPage.xaml.cs b/MangaMap/Views/loginPage.xaml.cs index 5a52a7c..f1a548c 100644 --- a/MangaMap/Views/loginPage.xaml.cs +++ b/MangaMap/Views/loginPage.xaml.cs @@ -27,11 +27,11 @@ public partial class loginPage : ContentPage } // Vérifier que l'e-mail a la bonne forme - if (!Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$")) + /*if (!Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$")) { await DisplayAlert("Erreur", "L'email n'est pas valide.", "OK"); return; - } + }*/ // Vérifier que l'utilisateur existe Utilisateur utilisateur = my_manager.Utilisateurs.FirstOrDefault(u => u.Email == email && u.MotDePasse == password);