public static MemoryList Restore() { string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\OpenHPSDR\\"; string file_name = path + "memory.xml"; MemoryList mem_list = new MemoryList(); if (!File.Exists(file_name)) { return(mem_list); // no file, just return an empty list } StreamReader reader = new StreamReader(file_name); try { XmlSerializer ser = new XmlSerializer(typeof(MemoryList), new Type[] { typeof(MemoryRecord), typeof(SortableBindingList <MemoryRecord>), typeof(int) }); mem_list = (MemoryList)ser.Deserialize(reader); } catch (Exception ex) { Debug.WriteLine(ex); } reader.Close(); return(mem_list); }
//====================================================================================================================== public static MemoryList Restore() { string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\OpenHPSDR\\"; string file_name = path + "memory.xml"; string bak_file_name = path + "memory_bak.xml"; MemoryList mem_list = new MemoryList(); StreamReader reader; try { if (!File.Exists(file_name)) { throw new FileNotFoundException(); } reader = new StreamReader(file_name); XmlSerializer ser = new XmlSerializer(typeof(MemoryList), new Type[] { typeof(MemoryRecord), typeof(SortableBindingList <MemoryRecord>), typeof(int) }); mem_list = (MemoryList)ser.Deserialize(reader); // save backup file mem_list.Save(bak_file_name); } catch (Exception ex1) { Debug.WriteLine(ex1); // check to see if backup file exists // if so, try to deserialize it if (!File.Exists(bak_file_name)) { return(mem_list); // no memory, no backup } reader = new StreamReader(bak_file_name); try { XmlSerializer ser = new XmlSerializer(typeof(MemoryList), new Type[] { typeof(MemoryRecord), typeof(SortableBindingList <MemoryRecord>), typeof(int) }); mem_list = (MemoryList)ser.Deserialize(reader); } catch (Exception ex2) { Debug.WriteLine(ex2); } } reader.Close(); return(mem_list); // return memory listing to memory form window datagridview1 } // restore