public async Task<Info> GetInfo(IStorageFolder folder) { Info retval = null; bool found = true; StorageFile info = null; try { info = await folder.GetFileAsync("Info.info"); } catch(FileNotFoundException fnf) { found = false; } if (!found) { retval = Info.New(); await SaveInfo(folder, retval); } else { using(var infoStream = await info.OpenReadAsync()) using(Stream stream = infoStream.AsStream()) { XDocument document = XDocument.Load(stream); retval = new Info(document); } } return retval; }
public async Task SaveInfo(IStorageFolder folder, Info info) { Stream stream = new MemoryStream(); info.Document.Save(stream); stream.Position = 0; await WriteFile("Info.info", folder, stream); }
public DatabaseInfo(IStorageFolder folder, Info info) { Folder = folder; Info = info; }