//for learning purpose only - later binary serialization, probably with encryption public bool SaveToXmlFile(string filePath) { bool result = false; MGBAccountBaseListSerializable serializedList = new MGBAccountBaseListSerializable(); foreach (MGBAccountBase account in this) { serializedList.AccountList.Add(new MGBAccountBaseSerializable(account)); } XmlSerializer serializer = new XmlSerializer(typeof(MGBAccountBaseListSerializable)); using (StreamWriter writer = new StreamWriter(filePath)) { serializer.Serialize(writer, serializedList); result = true; } return(result); }
//for learning purpose only - later binary serialization, probably with encryption public bool LoadFromXmlFile(string filePath) { bool result = false; MGBAccountBaseListSerializable deserializedList = new MGBAccountBaseListSerializable(); XmlSerializer serializer = new XmlSerializer(typeof(MGBAccountBaseListSerializable)); using (StreamReader reader = new StreamReader(filePath)) { deserializedList = (MGBAccountBaseListSerializable)serializer.Deserialize(reader); result = true; } this.Clear(); foreach (MGBAccountBaseSerializable tempItem in deserializedList.AccountList) { MGBAccountBase tempBaseAccount = new MGBAccountBase(tempItem); this.AddValidated(tempBaseAccount); } return(result); }