public async Task WriteFile <T>(Export.ExportTypes export, IEnumerable <T> data) { var file = await ChooseFileLocation(export); var writer = new Export.ExportWriter(file); switch (export) { case Export.ExportTypes.Dungeon: await WriteDungeon(writer, data as IEnumerable <AdventureData>); break; case Export.ExportTypes.Person: await WriteNPC(writer, data as IEnumerable <PersonData>); break; case Export.ExportTypes.Settlement: await WriteSettlement(writer, data as IEnumerable <Settlement>); break; } return; }
public void WriteFile <T>(Export.ExportTypes export, IEnumerable <T> data) { var file = ChooseFileLocation(export); if (file == null) { return; } var writer = new Export.ExportWriter(file); switch (export) { case Export.ExportTypes.Dungeon: WriteDungeon(writer, data as IEnumerable <AdventureData>); break; case Export.ExportTypes.Person: WriteNPC(writer, data as IEnumerable <PersonData>); break; case Export.ExportTypes.Settlement: WriteSettlement(writer, data as IEnumerable <Settlement>); break; } return; }
private string ChooseFileLocation(Export.ExportTypes type) { string filename; switch (type) { case Export.ExportTypes.Person: filename = "generated NPC"; break; case Export.ExportTypes.Dungeon: filename = "generated location"; break; case Export.ExportTypes.Settlement: filename = "generated settlement"; break; default: filename = "generated data"; break; } var dlg = new Microsoft.Win32.SaveFileDialog { FileName = filename, DefaultExt = ".txt", Filter = "Text documents (.txt)|*.txt" }; bool?result = dlg.ShowDialog(); if (result == true) { return(dlg.FileName); } else { return(null); } }
private async Task <StorageFile> ChooseFileLocation(Export.ExportTypes type) { string filename; switch (type) { case Export.ExportTypes.Person: filename = "generated NPC"; break; case Export.ExportTypes.Dungeon: filename = "generated location"; break; case Export.ExportTypes.Settlement: filename = "generated settlement"; break; default: filename = "generated data"; break; } var picker = new Windows.Storage.Pickers.FileSavePicker { SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary, SuggestedFileName = filename }; picker.FileTypeChoices.Add("Plain Text", new List <string>() { ".txt" }); var file = await picker.PickSaveFileAsync(); return(file); }