diff --git a/CanYouBuildIt/App.xaml.cs b/CanYouBuildIt/App.xaml.cs index d042742..fa8b44e 100644 --- a/CanYouBuildIt/App.xaml.cs +++ b/CanYouBuildIt/App.xaml.cs @@ -6,7 +6,8 @@ namespace CanYouBuildIt; public partial class App : Application { - public Manager manager { get; private set; } = new Manager(new DataContractPersistance.DataContractPers()); + public Manager manager { get; private set; } = new Manager(new Stub()); + //public Manager manager { get; private set; } = new Manager(new DataContractPersistance.DataContractPers()); public App() { manager.chargeDonne(); diff --git a/CanYouBuildIt/Data/UserData.xml b/CanYouBuildIt/Data/UserData.xml index 6dd509c..6551ab4 100644 --- a/CanYouBuildIt/Data/UserData.xml +++ b/CanYouBuildIt/Data/UserData.xml @@ -4,16 +4,19 @@ + 1234 Clément + vivien Vivien + 0000 Kevin diff --git a/CanYouBuildIt/DataContractPersistance/DataContractPers.cs b/CanYouBuildIt/DataContractPersistance/DataContractPers.cs index 5df437c..8275d20 100644 --- a/CanYouBuildIt/DataContractPersistance/DataContractPers.cs +++ b/CanYouBuildIt/DataContractPersistance/DataContractPers.cs @@ -19,40 +19,43 @@ namespace CanYouBuildIt.DataContractPersistance public DataContractPers() { } - public (List,List) chargeDonnee() - { //replacer liste par datatopersiste - var serializer = new DataContractSerializer(typeof(DataToPersist)); + public DataToPersist chargeDonnee() + { + //-- Chemin de sauvegarde --// string appDirectory = AppContext.BaseDirectory; int sousDossier = 53; FilePath = appDirectory.Substring(0, appDirectory.Length - sousDossier); Directory.SetCurrentDirectory(FilePath); FilePath = Path.Combine(FilePath, "Data"); - DataToPersist data = new DataToPersist(); + var serializer = new DataContractSerializer(typeof(DataToPersist)); + DataToPersist data = new DataToPersist(); + //-- Read fichier--// using (Stream stream = File.OpenRead(Path.Combine(FilePath, FileName))) { data = serializer.ReadObject(stream) as DataToPersist; } - return (data.lu,data.lc); // return entre parentèses data.type1, data.type2 + return data; } - public void sauvegardeDonnee(List lu, List lc) + public void sauvegardeDonnee(DataToPersist data) { + //-- Chemin de sauvegarde --// string appDirectory = AppContext.BaseDirectory; int sousDossier = 53; FilePath = appDirectory.Substring(0, appDirectory.Length - sousDossier); Directory.SetCurrentDirectory(FilePath); FilePath = Path.Combine(FilePath, "Data"); + + //-- Vérifie si le fichier et dossier existe déjà --// var serializer = new DataContractSerializer (typeof(DataToPersist)); if (!Directory.Exists(FilePath)) { Directory.CreateDirectory(FilePath); } - DataToPersist data = new DataToPersist(); - data.lu = lu; - data.lc = lc; + //-- Write fichier --// var settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(Path.Combine(FilePath, FileName))) { diff --git a/CanYouBuildIt/Model/IPersistanceManager.cs b/CanYouBuildIt/Model/IPersistanceManager.cs index f02b8ac..3f5d089 100644 --- a/CanYouBuildIt/Model/IPersistanceManager.cs +++ b/CanYouBuildIt/Model/IPersistanceManager.cs @@ -1,4 +1,5 @@ -using System; +using CanYouBuildIt.DataContractPersistance; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -8,8 +9,8 @@ namespace CanYouBuildIt.Model { public interface IPersistanceManager { - public (List,List) chargeDonnee(); + public DataToPersist chargeDonnee(); - public void sauvegardeDonnee(List lu,List lc); + public void sauvegardeDonnee(DataToPersist data); } } diff --git a/CanYouBuildIt/Model/Manager.cs b/CanYouBuildIt/Model/Manager.cs index 471c1d4..c8a3707 100644 --- a/CanYouBuildIt/Model/Manager.cs +++ b/CanYouBuildIt/Model/Manager.cs @@ -1,4 +1,5 @@ -using System; +using CanYouBuildIt.DataContractPersistance; +using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; @@ -22,19 +23,23 @@ namespace CanYouBuildIt.Model public Manager(IPersistanceManager pers) { listUtil = new List(); + listComp = new List(); Persi = pers; } public void chargeDonne() { - var donnee = Persi.chargeDonnee(); - listUtil.AddRange(donnee.Item1); - //listComp.AddRange(donnee.Item2); + DataToPersist donnee = Persi.chargeDonnee(); + listUtil.AddRange(donnee.lu); + listComp.AddRange(donnee.lc); } public void sauvegardeDonnee() { - Persi.sauvegardeDonnee(listUtil,listComp); + DataToPersist data = new DataToPersist(); + data.lu.AddRange(listUtil); + data.lc.AddRange(listComp); + Persi.sauvegardeDonnee(data); } public void ajouterUtilisateur(Utilisateur utilisateur) diff --git a/CanYouBuildIt/Model/Stub.cs b/CanYouBuildIt/Model/Stub.cs index 2daf698..06da797 100644 --- a/CanYouBuildIt/Model/Stub.cs +++ b/CanYouBuildIt/Model/Stub.cs @@ -1,5 +1,7 @@ -using System; +using CanYouBuildIt.DataContractPersistance; +using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -9,7 +11,7 @@ namespace CanYouBuildIt.Model public class Stub : IPersistanceManager { public Stub() { } - public (List,List) chargeDonnee() + public DataToPersist chargeDonnee() { List lu = new List(); List lc = new List(); @@ -26,10 +28,15 @@ namespace CanYouBuildIt.Model lc.Add(c1); lc.Add(c2); - return (lu,lc); + DataToPersist data = new DataToPersist(); + + data.lu.AddRange(lu); + data.lc.AddRange(lc); + + return data; } - public void sauvegardeDonnee(List lu,List lc) + public void sauvegardeDonnee(DataToPersist data) { } } } diff --git a/CanYouBuildIt/Model/Utilisateur.cs b/CanYouBuildIt/Model/Utilisateur.cs index a4aecd8..2d0ee82 100644 --- a/CanYouBuildIt/Model/Utilisateur.cs +++ b/CanYouBuildIt/Model/Utilisateur.cs @@ -16,13 +16,16 @@ namespace CanYouBuildIt.Model public string password { get; private set; } [DataMember] public List listBuild; + [DataMember] + public List listFav; - public Utilisateur(string name, string pass, List listbuild = null) + public Utilisateur(string name, string pass, List listbuild = null, List listfav = null) { username = name; password = pass; listBuild = listbuild; + listFav = listfav; } } } diff --git a/CanYouBuildIt/Views/Acceuil.xaml b/CanYouBuildIt/Views/Acceuil.xaml index 156fe58..555e17d 100644 --- a/CanYouBuildIt/Views/Acceuil.xaml +++ b/CanYouBuildIt/Views/Acceuil.xaml @@ -8,8 +8,33 @@ - + + + + + + + + + + + + + +