start Debug
continuous-integration/drone/push Build is failing Details

DataBinding
Matheo HERSAN 2 years ago
parent 4bdcd5dd3e
commit 79db066a03

@ -19,11 +19,12 @@ public partial class App : Application
if (File.Exists(Path.Combine(FilePath, FileName))) 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.Admins.Add(MyAdmin);
MyManager.UtilisateurActuel = MyManager.charger();
MainPage = new AppShell(); 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.Persistance = new DataContract(); //pour utiliser le stub comme moyen de persistance.
} }
MyManager.sauvegarder(); //MyManager.sauvegarder();
Console.WriteLine("sauvegarde faite"); Console.WriteLine("sauvegarde faite");
} }
} }

@ -30,19 +30,25 @@ namespace MangaMap.Model
Admins = new List<Admin>(); Admins = new List<Admin>();
Utilisateurs = new List<Utilisateur>(); Utilisateurs = new List<Utilisateur>();
Oeuvres = new List<Oeuvre>(); Oeuvres = new List<Oeuvre>();
UtilisateurActuel = null; UtilisateurActuel = new Utilisateur();
} }
public void charger() public Utilisateur charger()
{ {
var donne = Persistance.chargeDonne(); var donnees = Persistance.chargeDonne();
foreach (var item in donne.Item1) foreach (var item in donnees.Item1)
{ {
Oeuvres.Add(item); 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() public void sauvegarder()
{ {
Persistance.sauvegarder(Oeuvres, Utilisateurs); Persistance.sauvegarder(Oeuvres, Utilisateurs);

@ -40,6 +40,13 @@ namespace MangaMap.Model
ListeOeuvreFavorites = new List<Oeuvre>(); ListeOeuvreFavorites = new List<Oeuvre>();
} }
public Utilisateur() {
ListeOeuvreEnVisionnage = new List<Oeuvre>();
ListeOeuvreDejaVu = new List<Oeuvre>();
ListeOeuvrePourPlusTard = new List<Oeuvre>();
ListeOeuvreFavorites = new List<Oeuvre>();
}
public void SupprimerUtilisateur() public void SupprimerUtilisateur()
{ {
this.nom = null; this.nom = null;

@ -17,7 +17,7 @@ namespace MangaMap.Stub
List<Oeuvre> l1 = new List<Oeuvre>(); List<Oeuvre> l1 = new List<Oeuvre>();
List<Utilisateur> l2 = new List<Utilisateur>(); List<Utilisateur> l2 = new List<Utilisateur>();
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 u2 = new Utilisateur("test@test.ts", "Pseudo2", "MotDePasse123", "Baptiste", "Jean", 12);
Utilisateur u3 = new Utilisateur("test@test.ts", "Pseudo3", "MotDePasse123", "David", "Marc", 12); Utilisateur u3 = new Utilisateur("test@test.ts", "Pseudo3", "MotDePasse123", "David", "Marc", 12);
List<string> genres = new List<string>(); List<string> genres = new List<string>();
@ -29,6 +29,8 @@ namespace MangaMap.Stub
l1.Add(o1); l1.Add(o2); l1.Add(o1); l1.Add(o2);
l2.Add(u1); l2.Add(u2); l2.Add(u3); l2.Add(u1); l2.Add(u2); l2.Add(u3);
u1.ListeOeuvreEnVisionnage.Add(o1);
return (l1, l2); return (l1, l2);
} }

@ -1,6 +1,7 @@
namespace MangaMap.Views; namespace MangaMap.Views;
using Model; using Model;
using System.ComponentModel; using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Linq; using System.Xml.Linq;
public partial class ficheAnime : ContentPage, INotifyPropertyChanged public partial class ficheAnime : ContentPage, INotifyPropertyChanged
@ -35,7 +36,15 @@ public partial class ficheAnime : ContentPage, INotifyPropertyChanged
return; return;
} }
if (my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage == null)
{
// Initialisez la liste si elle est nulle
//my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage = new List<Oeuvre>();
}
Debug.WriteLine("Iciii");
my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage.Add(AnimeModel); my_manager.UtilisateurActuel.ListeOeuvreEnVisionnage.Add(AnimeModel);
Debug.WriteLine("Okkkkkkkkkkkk");
// Naviguez vers la page de la fiche d'anime en passant l'objet sélectionné // Naviguez vers la page de la fiche d'anime en passant l'objet sélectionné
await Navigation.PushAsync(new listPage()); await Navigation.PushAsync(new listPage());
} }

@ -40,7 +40,6 @@
<ScrollView Grid.Row="1" VerticalScrollBarVisibility="Always"> <ScrollView Grid.Row="1" VerticalScrollBarVisibility="Always">
<VerticalStackLayout BindableLayout.ItemsSource="{Binding ListeOeuvreEnVisionnage}" Spacing="10"> <VerticalStackLayout BindableLayout.ItemsSource="{Binding ListeOeuvreEnVisionnage}" Spacing="10">
<BindableLayout.ItemTemplate> <BindableLayout.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">

@ -27,11 +27,11 @@ public partial class loginPage : ContentPage
} }
// Vérifier que l'e-mail a la bonne forme // 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"); await DisplayAlert("Erreur", "L'email n'est pas valide.", "OK");
return; return;
} }*/
// Vérifier que l'utilisateur existe // Vérifier que l'utilisateur existe
Utilisateur utilisateur = my_manager.Utilisateurs.FirstOrDefault(u => u.Email == email && u.MotDePasse == password); Utilisateur utilisateur = my_manager.Utilisateurs.FirstOrDefault(u => u.Email == email && u.MotDePasse == password);

Loading…
Cancel
Save