// File Write private static void Serialize(string file, TrackerList <T> mtl) { string tmpFile = file + ".tmp"; try { mtl.SyncDictionaryToList(); Stream streamWrite = File.Create(tmpFile); System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(mtl.GetType()); xs.Serialize(streamWrite, mtl); streamWrite.Close(); if (File.Exists(file)) { File.Delete(file); } File.Move(tmpFile, file); } catch { throw; } }
//public void Reset(string sourceString) //{ // if (GetItem(sourceString) != null) // { // lock (DictionaryList) // { // DictionaryList.Remove(GetHashKey(sourceString)); // } // } //} public static TrackerList <T> LoadFromFile(string file, bool orderByDescending = true) { TrackerList <T> tl = null; if (!File.Exists(file)) { tl = new TrackerList <T>(); } else { tl = TrackerList <T> .Deserialize(file); } tl.OrderByDescending = orderByDescending; return(tl); }
// File Read private static TrackerList <T> Deserialize(string file) { try { Stream streamRead = File.OpenRead(file); System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(TrackerList <T>)); TrackerList <T> mtl = (TrackerList <T>)xs.Deserialize(streamRead); mtl.SyncListToDictionary(); streamRead.Close(); return(mtl); } catch { throw; } }
public static void SaveToFile(string file, TrackerList <T> mtl) { Serialize(file, mtl); }