using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Xml; using static System.Console; using Model; using Microsoft.VisualBasic; using System.Data; namespace Persistance { public class DataSerializerXML { public static void Serializer(string path, Theque theque) { Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), path)); string xmlFile = "theque.xml"; var serializer = new DataContractSerializer(typeof(Theque)); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; using (TextWriter tw = File.CreateText(xmlFile)) { using (XmlWriter writer = XmlWriter.Create(tw, settings)) { serializer.WriteObject(writer, theque); } } } public static Theque Deserializer(string path) { Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), path)); string xmlFile = "theque.xml"; var serializer = new DataContractSerializer(typeof(Theque)); Theque theque = new Theque(); if(File.Exists(xmlFile)) { using (Stream stream = File.OpenRead(xmlFile)) { Theque? thequeOpt = serializer.ReadObject(stream) as Theque; if (thequeOpt != null) theque = thequeOpt; else Console.WriteLine("Theque est null"); } } else { theque = Stub.LoadTheque(); } return theque; } } }