You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.4 KiB

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 DataSerializer
{
public static void Serializer(String path)
{
Theque theque = new Theque();
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), path));
string xmlFile = "theque.xml";
var serializer = new DataContractSerializer(typeof(Theque));
using (Stream s = File.Create(xmlFile))
{
serializer.WriteObject(s, theque);
}
}
public static Theque Deserializer(String path)
{
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory()));
string xmlFile = "theque.xml";
var serializer = new DataContractSerializer(typeof(Theque));
Theque theque = new Theque();
if(File.Exists(xmlFile))
{
using (Stream s = File.OpenRead(xmlFile))
{
theque = serializer.ReadObject(s) as Theque;
}
}
else
{
theque = Stub.LoadTheque();
}
return theque;
}
}
}