diff --git a/Sources/Model/Manager.cs b/Sources/Model/Manager.cs index 6442b09..98e402c 100644 --- a/Sources/Model/Manager.cs +++ b/Sources/Model/Manager.cs @@ -1,9 +1,12 @@ using Microsoft.VisualBasic; +using Model.Serializer; using Model.Stub; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.IO; using System.Linq; +using System.Resources; using System.Text; using System.Threading.Tasks; @@ -13,7 +16,7 @@ namespace Model public class Manager { public IDataManager DataManager { get; set; } - + public XML_Serializer XML_Serializer { get; set; } public ObservableCollection Bateaux { get; set; } public ObservableCollection Personnages { get; set; } public ObservableCollection Fruits { get; set; } @@ -25,8 +28,16 @@ namespace Model public Manager() { DataManager = new StubManager(); - Bateaux = new ObservableCollection(DataManager.GetBateaux()); - Personnages = new ObservableCollection(DataManager.GetPersonnages()); + XML_Serializer = new XML_Serializer(); + if (File.Exists(@"C:\Users\yobrugiere1\Documents\Ohara\Sources\Ohara\Resources\XML\bateau.xml")) + Bateaux = new ObservableCollection(XML_Serializer.GetBateaux()); + else + Bateaux = new ObservableCollection(DataManager.GetBateaux()); + if (File.Exists(@"C:\Users\yobrugiere1\Documents\Ohara\Sources\Ohara\Resources\XML\personnage.xml")) + Personnages = new ObservableCollection(XML_Serializer.GetPersonnages()); + else + Personnages = new ObservableCollection(DataManager.GetPersonnages()); + Fruits = new ObservableCollection(DataManager.GetFruits()); Iles = new ObservableCollection(DataManager.GetIles()); Bestiaire = new ObservableCollection(DataManager.GetBestiaires()); @@ -149,7 +160,7 @@ namespace Model return listeFavoris; } - public void AddFavoris(ObjetOhara obj) + public void ModifierFavoris(ObjetOhara obj,bool value) { Type t = obj.GetType(); @@ -158,7 +169,8 @@ namespace Model { if (b.Equals(obj)) { - b.EstFavori = true; + b.EstFavori = value; + XML_Serializer.SetBateau(Bateaux.ToList()); } } else if (t.Equals(typeof(Equipage))) @@ -166,7 +178,8 @@ namespace Model { if (b.Equals(obj)) { - b.EstFavori = true; + b.EstFavori = value; + XML_Serializer.SetEquipage(Equipages.ToList()); } } @@ -175,7 +188,8 @@ namespace Model { if (b.Equals(obj)) { - b.EstFavori = true; + b.EstFavori = value; + XML_Serializer.SetPersonnage(Personnages.ToList()); } } @@ -184,7 +198,8 @@ namespace Model { if (b.Equals(obj)) { - b.EstFavori = true; + b.EstFavori = value; + XML_Serializer.SetIle(Iles.ToList()); } } @@ -194,6 +209,7 @@ namespace Model if (b.Equals(obj)) { b.EstFavori = true; + XML_Serializer.SetFDD(Fruits.ToList()); } } @@ -202,11 +218,14 @@ namespace Model { if (b.Equals(obj)) { - b.EstFavori = true; + b.EstFavori = value; + XML_Serializer.SetBestiaire(Bestiaire.ToList()); } } - + } + + } } diff --git a/Sources/Model/Serializer/XML_Serializer.cs b/Sources/Model/Serializer/XML_Serializer.cs index 8d5031a..1c768a4 100644 --- a/Sources/Model/Serializer/XML_Serializer.cs +++ b/Sources/Model/Serializer/XML_Serializer.cs @@ -19,7 +19,7 @@ namespace Model.Serializer { var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "personnage.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { @@ -36,7 +36,7 @@ namespace Model.Serializer { var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "fruitdudemon.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { @@ -54,7 +54,7 @@ namespace Model.Serializer { var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "bestiaire.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { @@ -72,7 +72,7 @@ namespace Model.Serializer { var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "equipage.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { @@ -90,7 +90,7 @@ namespace Model.Serializer { var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "ile.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { @@ -108,7 +108,7 @@ namespace Model.Serializer { var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "bateau.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { @@ -127,7 +127,7 @@ namespace Model.Serializer List listeBateau = new List(); var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "bateau.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); using (Stream s = File.OpenRead(xmlFile)) { @@ -141,7 +141,7 @@ namespace Model.Serializer List listeBest = new List(); var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "bestiaire.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); using (Stream s = File.OpenRead(xmlFile)) { @@ -154,7 +154,7 @@ namespace Model.Serializer List listeEquip = new List(); var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "equipage.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); using (Stream s = File.OpenRead(xmlFile)) { @@ -167,7 +167,7 @@ namespace Model.Serializer List listeFDD = new List(); var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "fruitdudemon.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); using (Stream s = File.OpenRead(xmlFile)) { @@ -180,7 +180,7 @@ namespace Model.Serializer List listeIle = new List(); var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "ile.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); using (Stream s = File.OpenRead(xmlFile)) { @@ -193,7 +193,7 @@ namespace Model.Serializer List listePerso = new List(); var serializer = new DataContractSerializer(typeof(List)); string xmlFile = "personnage.xml"; - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML")); using (Stream s = File.OpenRead(xmlFile)) { diff --git a/Sources/Ohara/PageFavoris.xaml.cs b/Sources/Ohara/PageFavoris.xaml.cs index 4e0063e..c95deb8 100644 --- a/Sources/Ohara/PageFavoris.xaml.cs +++ b/Sources/Ohara/PageFavoris.xaml.cs @@ -19,22 +19,50 @@ public partial class PageFavoris : ContentPage searchBar.TextChanged += OnTextChanged; } - async void listeFavs_SelectionChanged(object sender, SelectionChangedEventArgs e) + void listeFavs_SelectionChanged(object sender, SelectionChangedEventArgs e) { Type t = listeFavs.SelectedItem.GetType(); + Console.WriteLine(t); if (t.Equals(typeof(Bateau))) - await Navigation.PushAsync(new PageInfoBateau()); + { + manager.SelectedItem = (Bateau)listeFavs.SelectedItem; + + Navigation.PushAsync(new PageInfoBateau()); + } else if (t.Equals(typeof(Equipage))) - await Navigation.PushAsync(new PageInfoEquipage()); + { + manager.SelectedItem = (Equipage)listeFavs.SelectedItem; + + Navigation.PushAsync(new PageInfoEquipage()); + } + else if (t.Equals(typeof(Personnage))) - await Navigation.PushAsync(new PageInfoPersonnage()); + { + manager.SelectedItem = (Personnage)listeFavs.SelectedItem; + + Navigation.PushAsync(new PageInfoPersonnage()); + + } + else if (t.Equals(typeof(Ile))) - await Navigation.PushAsync(new PageInfoIle()); + { + manager.SelectedItem=(Ile)listeFavs.SelectedItem; + Navigation.PushAsync(new PageInfoIle()); + } + else if (t.Equals(typeof(FruitDuDemon))) - await Navigation.PushAsync(new PageInfoFdd()); + { + manager.SelectedItem = (FruitDuDemon)listeFavs.SelectedItem; + Navigation.PushAsync(new PageInfoFdd()); + } + else if (t.Equals(typeof(Bestiaire))) - await Navigation.PushAsync(new PageInfoBestiaire()); + { + manager.SelectedItem = (Bestiaire)listeFavs.SelectedItem; + Navigation.PushAsync(new PageInfoBestiaire()); + } + } diff --git a/Sources/Ohara/PageInfoBateau.xaml b/Sources/Ohara/PageInfoBateau.xaml index a5e41b9..0ee2c12 100644 --- a/Sources/Ohara/PageInfoBateau.xaml +++ b/Sources/Ohara/PageInfoBateau.xaml @@ -16,6 +16,7 @@