/// <summary> /// Load an object from a local file /// </summary> /// <param name="type">type of object to load</param> /// <param name="file">file to load from</param> /// <returns></returns> public object load(Type type, LocalFile file) { using (FileStream fileStream = openReadFile(file)) { XmlObjectSerializer serializer = new DataContractSerializer(type); return(serializer.ReadObject(fileStream)); } }
/// <summary> /// Save an object to a local file /// </summary> /// <param name="data">object to save</param> /// <param name="file">file to save to</param> public void save(object data, LocalFile file) { using (FileStream fileStream = createFile(file)) { XmlObjectSerializer serializer = new DataContractSerializer(data.GetType()); serializer.WriteObject(fileStream, data); } }
public string getPath(SpecialFile file) { ILocalFile localFile; switch (file) { case SpecialFile.DATABASE: localFile = new LocalFile(LogicalDirectory.Data, DATABASE_FILE_NAME); break; default: return(""); } return(getPath(localFile)); }
/// <summary> /// Open a file for reading /// </summary> /// <param name="file">file to open</param> /// <returns>file stream to read from the file</returns> private FileStream openReadFile(LocalFile file) { string filePath = filePathBuilder.getPath(file); return(File.OpenRead(filePath)); }
/// <summary> /// Create a file /// </summary> /// <param name="file">file to create</param> /// <returns>file stream to write to the new file</returns> private FileStream createFile(LocalFile file) { string filePath = filePathBuilder.getPath(file); return(File.Create(filePath)); }