public static async Task <DocumentViewModel> LoadFromFileAsync(MainPageViewModel mainPageViewModel, IStorageFile file, string token) { var answer = new DocumentViewModel(mainPageViewModel); await answer.LoadFromFileAsync(file, token, assignPayloadWithoutLoading : true); return(answer); }
public static async Task <MainPageViewModel> LoadAsync() { var viewModel = new MainPageViewModel(); viewModel.HostConfigEditor = await HostConfigEditorViewModel.LoadAsync(viewModel); viewModel.HostConfigEditor.HostConfigChanged += viewModel.HostConfigEditor_HostConfigChanged; var tokens = await GetFileTokensAsync(); ObservableCollection <DocumentViewModel> documents = new ObservableCollection <DocumentViewModel>(); foreach (string token in tokens) { try { IStorageFile file; if (token.StartsWith("SampleFile:")) { string fileName = token.Substring("SampleFile:".Length); file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Samples/" + fileName)); } else { file = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token); } if (file != null) { documents.Add(await DocumentViewModel.LoadFromFileAsync(viewModel, file, token)); } } catch { } } if (documents.Count == 0) { try { var samplesFolder = await Package.Current.InstalledLocation.GetFolderAsync("Samples"); foreach (var file in await samplesFolder.GetFilesAsync()) { if (file.FileType.ToLower().Equals(".json")) { documents.Add(await DocumentViewModel.LoadFromFileAsync(viewModel, file, "SampleFile:" + file.Name)); } } } catch { } } viewModel.OpenDocuments = documents; viewModel.CurrentDocument = documents.FirstOrDefault(); return(viewModel); }
public async void OpenDocument() { try { FileOpenPicker openPicker = new FileOpenPicker(); openPicker.ViewMode = PickerViewMode.List; openPicker.FileTypeFilter.Add(".json"); StorageFile file = await openPicker.PickSingleFileAsync(); if (file != null) { string token = StorageApplicationPermissions.FutureAccessList.Add(file); OpenDocuments.Add(await DocumentViewModel.LoadFromFileAsync(this, file, token)); CurrentDocument = OpenDocuments.LastOrDefault(); SaveFileTokensAsync(); } else { } } catch { } }