private void DeSerializeXMLToObject(string filepath) { XmlSerializer serializer = new XmlSerializer(typeof(SaveLoadCollection)); using (StreamReader wr = new StreamReader(filepath)) { SaveLoadCollection Load = (SaveLoadCollection)serializer.Deserialize(wr); classCollection.Clear(); arrowCollection.Clear(); ClassIndex = Load.tempDiagrams.Count + 1; foreach (Diagram tempDiagram in Load.tempDiagrams) { classCollection.Add(new ClassViewModel(tempDiagram)); } foreach (ArrowViewModel arrow in Load.tempArrows) { ClassViewModel DiagramA = null; ClassViewModel DiagramB = null; foreach (ClassViewModel diagram in classCollection) { if (arrow.DiagramA.Id == diagram.Id) { DiagramA = diagram; } else if (arrow.DiagramB.Id == diagram.Id) { DiagramB = diagram; } } ArrowViewModel tempArrow = new ArrowViewModel(DiagramA, DiagramB, arrow.arrow); undoRedoController.AddAndExecute(new AddArrowCommand(arrowCollection, tempArrow)); } undoRedoController.Reset(); } }
public void SerializeObjectToXML(string filepath) { SaveLoadCollection serializetype = new SaveLoadCollection(classCollection, arrowCollection); XmlSerializer serializer = new XmlSerializer(typeof(SaveLoadCollection)); using (StreamWriter wr = new StreamWriter(filepath)) { serializer.Serialize(wr, serializetype); } }