private async Task SaveData() { StorageFile file = await FilePickerAdapters.ShowSaveFilePicker("ColorData", ".json", new Tuple <string, IList <string> >[] { new Tuple <string, IList <string> >("JSON", new List <string>() { ".json" }) }, null, Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary, true, true); if (file == null) { return; } CachedFileManager.DeferUpdates(file); Preset savePreset = new Preset(file.Path, file.DisplayName, _paletteModel); var saveData = Preset.Serialize(savePreset); var saveString = saveData.Stringify(); await FileIO.WriteTextAsync(file, saveString); FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(file); if (status == FileUpdateStatus.Complete) { _paletteModel.AddOrReplacePreset(savePreset); _paletteModel.ApplyPreset(savePreset); } else { if (file == null || file.Path == null) { return; } var message = string.Format("ControlPaletteSaveError", file.Path); ContentDialog saveFailedDialog = new ContentDialog() { CloseButtonText = "ControlPaletteErrorOkButtonCaption", Title = "ControlPaletteSaveErrorTitle", Content = message }; _ = saveFailedDialog.ShowAsync(); return; } }
public async Task LoadData() { StorageFile file = await FilePickerAdapters.ShowLoadFilePicker(new string[] { ".json" }, Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary, Windows.Storage.Pickers.PickerViewMode.List, true, true); if (file == null) { return; } string dataString = await FileIO.ReadTextAsync(file); JsonObject rootObject = JsonObject.Parse(dataString); Preset loadedPreset = null; try { loadedPreset = Preset.Parse(rootObject, file.Path, file.DisplayName); } catch { loadedPreset = null; } if (loadedPreset == null) { if (file == null || file.Path == null) { return; } var message = string.Format("ControlPaletteLoadError", file.Path); ContentDialog loadFailedDialog = new ContentDialog() { CloseButtonText = "ControlPaletteErrorOkButtonCaption", Title = "ControlPaletteLoadErrorTitle", Content = message }; _ = loadFailedDialog.ShowAsync(); return; } _paletteModel.AddOrReplacePreset(loadedPreset); _paletteModel.ApplyPreset(loadedPreset); }
public async Task <string> SaveExportFile(string exportData) { _exportViewModel = new ExportViewModel(exportData); Debug.WriteLine(_exportViewModel.ExportText); var file = await FilePickerAdapters.ShowSaveFilePicker("Theme", ".xaml", new Tuple <string, IList <string> >[] { new Tuple <string, IList <string> >("XAML", new List <string>() { ".xaml" }) }, null, Windows.Storage.Pickers.PickerLocationId.ComputerFolder, true, true); if (file != null) { await FileIO.WriteTextAsync(file, _exportViewModel.ExportText); return("Exported succesfully"); } else { return("Export failed"); } }