actualisation auto profil, listeFavoris, ajout d'un jeu dans la liste
continuous-integration/drone/push Build is failing Details

pull/57/head
Yvan CALATAYUD 2 years ago
parent 3e6a5c2f20
commit 0eec91115c

@ -9,7 +9,7 @@ using System.Threading.Tasks;
using System.Xml; using System.Xml;
using System.IO; using System.IO;
using System.Xml.Serialization; using System.Xml.Serialization;
using System.Collections.ObjectModel;
namespace GameAtlas.DataContractPersistance namespace GameAtlas.DataContractPersistance
{ {
@ -19,7 +19,7 @@ namespace GameAtlas.DataContractPersistance
public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory); //Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/data"; public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory); //Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/data";
public (List<Jeu>, List<Utilisateur>) ChargeDonnees() public (ObservableCollection<Jeu>, List<Utilisateur>) ChargeDonnees()
{ {
var serializer = new DataContractSerializer(typeof(DataToPersist)); var serializer = new DataContractSerializer(typeof(DataToPersist));
DataToPersist data = new DataToPersist(); DataToPersist data = new DataToPersist();
@ -31,7 +31,7 @@ namespace GameAtlas.DataContractPersistance
return (data.jeux, data.utilisateurs); return (data.jeux, data.utilisateurs);
} }
public void SauvegardeDonnees(List<Jeu> jeux, List<Utilisateur> users) public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Utilisateur> users)
{ {
var serializer = new DataContractSerializer(typeof(DataToPersist)); var serializer = new DataContractSerializer(typeof(DataToPersist));

@ -1,6 +1,7 @@
using GameAtlas.Models; using GameAtlas.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -9,7 +10,7 @@ namespace GameAtlas.DataContractPersistance
{ {
public class DataToPersist public class DataToPersist
{ {
public List<Jeu> jeux { get; set; } = new List<Jeu>(); public ObservableCollection<Jeu> jeux { get; set; } = new ObservableCollection<Jeu>();
public List<Utilisateur> utilisateurs { get; set; } = new List<Utilisateur>(); public List<Utilisateur> utilisateurs { get; set; } = new List<Utilisateur>();
} }
} }

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<IsFirstTimeProjectOpen>False</IsFirstTimeProjectOpen> <IsFirstTimeProjectOpen>False</IsFirstTimeProjectOpen>
<ActiveDebugFramework>net7.0-android</ActiveDebugFramework> <ActiveDebugFramework>net7.0-android</ActiveDebugFramework>
<ActiveDebugProfile>Xiaomi 2201117SY (Android 12.0 - API 31)</ActiveDebugProfile> <ActiveDebugProfile>Google Pixel 6a (Android 13.0 - API 33)</ActiveDebugProfile>
<SelectedPlatformGroup>PhysicalDevice</SelectedPlatformGroup> <SelectedPlatformGroup>PhysicalDevice</SelectedPlatformGroup>
<DefaultDevice>pixel_5_-_api_33_1</DefaultDevice> <DefaultDevice>pixel_5_-_api_33_1</DefaultDevice>
</PropertyGroup> </PropertyGroup>

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -8,8 +9,8 @@ namespace GameAtlas.Models
{ {
public interface IPersistanceManager public interface IPersistanceManager
{ {
(List<Jeu>,List<Utilisateur>) ChargeDonnees(); (ObservableCollection<Jeu>,List<Utilisateur>) ChargeDonnees();
void SauvegardeDonnees(List<Jeu> jeux, List<Utilisateur> utilisateurs); void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Utilisateur> utilisateurs);
} }
} }

@ -11,7 +11,7 @@ namespace GameAtlas.Models
{ {
public class Manager : INotifyPropertyChanged public class Manager : INotifyPropertyChanged
{ {
public List<Jeu> ListJeux { get; private set; } public ObservableCollection<Jeu> ListJeux { get; private set; }
public List<Admin> Admins { get; private set; } public List<Admin> Admins { get; private set; }
public List<Utilisateur> Utilisateurs { get; private set; } public List<Utilisateur> Utilisateurs { get; private set; }
@ -30,19 +30,19 @@ namespace GameAtlas.Models
public event PropertyChangedEventHandler? PropertyChanged; public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged([CallerMemberName] string propertyName = null) public void OnPropertyChanged([CallerMemberName] string propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public Manager(IPersistanceManager persistance) public Manager(IPersistanceManager persistance)
{ {
Utilisateurs = new List<Utilisateur>(); Utilisateurs = new List<Utilisateur>();
ListJeux = new List<Jeu>(); ListJeux = new ObservableCollection<Jeu>();
Persistance = persistance; Persistance = persistance;
ConnectedUser = null; ConnectedUser = null;
} }
public Manager() { public Manager() {
ListJeux = new List<Jeu>(); ListJeux = new ObservableCollection<Jeu>();
Admins = new List<Admin>(); Admins = new List<Admin>();
Utilisateurs = new List<Utilisateur>(); Utilisateurs = new List<Utilisateur>();
ConnectedUser = null; ConnectedUser = null;

@ -1,6 +1,7 @@
using GameAtlas.Views; using GameAtlas.Views;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Runtime.Serialization; using System.Runtime.Serialization;
using System.Text; using System.Text;
@ -20,9 +21,9 @@ namespace GameAtlas.Models
[DataMember] [DataMember]
public string DateCreation { get; private set; } public string DateCreation { get; private set; }
[DataMember] [DataMember]
public List<Jeu> ListePossedes { get; private set; } public ObservableCollection<Jeu> ListePossedes { get; private set; }
[DataMember] [DataMember]
public List<Jeu> ListeFavoris { get; private set; } public ObservableCollection<Jeu> ListeFavoris { get; private set; }
public Utilisateur(string mail, string pseudo, string mdp) public Utilisateur(string mail, string pseudo, string mdp)
{ {
@ -30,8 +31,8 @@ namespace GameAtlas.Models
Pseudo = pseudo; Pseudo = pseudo;
Mdp = mdp; Mdp = mdp;
DateCreation = "Compte créer le "+DateTime.Today.ToString("d"); DateCreation = "Compte créer le "+DateTime.Today.ToString("d");
ListePossedes = new List<Jeu>(); ListePossedes = new ObservableCollection<Jeu>();
ListeFavoris = new List<Jeu>(); ListeFavoris = new ObservableCollection<Jeu>();
} }

@ -1,6 +1,7 @@
using GameAtlas.Models; using GameAtlas.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -9,10 +10,10 @@ namespace GameAtlas.Stub
{ {
public class Stub : IPersistanceManager public class Stub : IPersistanceManager
{ {
public (List<Jeu>,List<Utilisateur>) ChargeDonnees() public (ObservableCollection<Jeu>,List<Utilisateur>) ChargeDonnees()
{ {
List<Utilisateur> ListUsers = new List<Utilisateur>(); List<Utilisateur> ListUsers = new List<Utilisateur>();
List<Jeu> ListJeu = new List<Jeu>(); ObservableCollection<Jeu> ListJeu = new ObservableCollection<Jeu>();
Utilisateur userTest = new Utilisateur("test@gmail.com", "test", "Test1234"); Utilisateur userTest = new Utilisateur("test@gmail.com", "test", "Test1234");
ListUsers.Add(userTest); ListUsers.Add(userTest);
Jeu TheLastOfUs = new Jeu("The last of Us Part 1","5 Fevrier 2023","Ps5 XOne Pc","dev","ed", 5, 487,"Aventure", "cover_lastofus1.png"); Jeu TheLastOfUs = new Jeu("The last of Us Part 1","5 Fevrier 2023","Ps5 XOne Pc","dev","ed", 5, 487,"Aventure", "cover_lastofus1.png");
@ -24,7 +25,7 @@ namespace GameAtlas.Stub
return (ListJeu,ListUsers); return (ListJeu,ListUsers);
} }
public void SauvegardeDonnees(List<Jeu> jeux, List<Utilisateur> utilisateurs) public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Utilisateur> utilisateurs)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

@ -50,6 +50,7 @@ public partial class PageAdmin : ContentPage
Jeu adminJeu = new Jeu(nom, sortie, plateformes, developpeur, editeur, noteInt, nbTelechargementInt, genre, image); Jeu adminJeu = new Jeu(nom, sortie, plateformes, developpeur, editeur, noteInt, nbTelechargementInt, genre, image);
AdminManager.AddJeux(adminJeu); AdminManager.AddJeux(adminJeu);
AdminManager.SauvegardeDonnees(); AdminManager.SauvegardeDonnees();
AdminManager.OnPropertyChanged(nameof(AdminManager.ListJeux));
Debug.WriteLine($"Le jeu \"{adminJeu.Nom}\" a été ajouté."); Debug.WriteLine($"Le jeu \"{adminJeu.Nom}\" a été ajouté.");
} }

@ -24,7 +24,7 @@ public partial class PageJeu : ContentPage
InitializeComponent(); InitializeComponent();
this.BindingContext = this; BindingContext = this;
} }
@ -40,11 +40,15 @@ public partial class PageJeu : ContentPage
{ {
JeuManager.ConnectedUser.ListeFavoris.Add(JeuModel); JeuManager.ConnectedUser.ListeFavoris.Add(JeuModel);
Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} à la Liste Favoris de {JeuManager.ConnectedUser.Pseudo}."); Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} à la Liste Favoris de {JeuManager.ConnectedUser.Pseudo}.");
JeuManager.OnPropertyChanged(nameof(JeuManager.ConnectedUser));
JeuManager.SauvegardeDonnees();
} }
else if (action == "Jeux Possédés") else if (action == "Jeux Possédés")
{ {
JeuManager.ConnectedUser.ListePossedes.Add(JeuModel); JeuManager.ConnectedUser.ListePossedes.Add(JeuModel);
Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} à la Liste Possédés de {JeuManager.ConnectedUser.Pseudo}."); Debug.WriteLine($"Ajout du jeu {JeuModel.Nom} à la Liste Possédés de {JeuManager.ConnectedUser.Pseudo}.");
JeuManager.OnPropertyChanged(nameof(JeuManager.ConnectedUser));
JeuManager.SauvegardeDonnees();
} }
} }
else else

@ -88,7 +88,7 @@
<Shadow Brush="Black" Offset="0,4" Radius="4" Opacity="0.4" /> <Shadow Brush="Black" Offset="0,4" Radius="4" Opacity="0.4" />
</Border.Shadow> </Border.Shadow>
<Frame HasShadow="False" HeightRequest="97.5" CornerRadius="5" IsClippedToBounds="True"> <Frame HasShadow="False" HeightRequest="97.5" CornerRadius="5" IsClippedToBounds="True">
<Image HeightRequest="97.5" Source="{Binding .}" Aspect="AspectFill"/> <Image HeightRequest="97.5" Source="{Binding Image}" Aspect="AspectFill"/>
<Frame.GestureRecognizers> <Frame.GestureRecognizers>
<TapGestureRecognizer Tapped="OnGame_Tapped"/> <TapGestureRecognizer Tapped="OnGame_Tapped"/>

Loading…
Cancel
Save