Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.IO;
- using System.Xml.Serialization;
- namespace Lightpoint_demo2
- {
- public class XMLConverter: ISerializer<Office>
- {
- private const string filename = "cars.xml";
- private readonly XmlSerializer serializer;
- private List<Office> Offices { get; set; }
- public XMLConverter(List<Office> offices)
- {
- serializer = new XmlSerializer(typeof(SerializableMOffice));
- Offices = offices;
- }
- public void Serialize()
- {
- using (FileStream fs = new FileStream(filename, FileMode.Create))
- {
- SerializableMOffice s_moffice = new SerializableMOffice();
- for (int i = 0; i < Offices.Count; i++)
- {
- Offices[i].SerialazibleOffice.Brand = Offices[i].Brand;
- Offices[i].SerialazibleOffice.SerializableCarsList = Offices[i].CarsDataBase.GetItemsList();
- s_moffice.SerializableOfficeList.Add(Offices[i].SerialazibleOffice);
- }
- serializer.Serialize(fs, s_moffice);
- }
- }
- public void Deserialize()
- {
- using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate))
- {
- Office office;
- SerializableMOffice s_moffice;
- try
- {
- s_moffice = (SerializableMOffice)serializer.Deserialize(fs);
- }
- catch (Exception)
- {
- return;
- }
- for (int i = 0; i < s_moffice.SerializableOfficeList.Count; i++)
- {
- office = new Office(s_moffice.SerializableOfficeList[i].Brand, "XML");
- office.CarsDataBase = new LocalDB();
- for (int j = 0; j < s_moffice.SerializableOfficeList[i].SerializableCarsList.Count; j++)
- {
- office.CarsDataBase.Create(s_moffice.SerializableOfficeList[i].SerializableCarsList[j]);
- }
- Offices.Add(office);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement