private async Task Continue(FilePickTargets target, IStorageFile read, IStorageFile write = null) { switch (target) { case FilePickTargets.Databases: await _registration.RegisterAsync(read); break; case FilePickTargets.KeyFile: var view = _rootFrame.Content as FrameworkElement; if (view == null) { break; } var viewModel = view.DataContext as PasswordViewModel; if (viewModel != null) { await viewModel.AddKeyFile(read); } break; case FilePickTargets.Attachments: CachedFileManager.DeferUpdates(write); await read.CopyAndReplaceAsync(write); await CachedFileManager.CompleteUpdatesAsync(write); break; } }
/// <summary> /// Shows the file picker UI. /// </summary> /// <param name="target">The target for the file.</param> public async Task PickAsync(FilePickTargets target) { var picker = new FileOpenPicker { ViewMode = PickerViewMode.List, }; picker.FileTypeFilter.Add("*"); #if WINDOWS_PHONE_APP picker.ContinuationData.Add( "Target", target.ToString()); picker.PickSingleFileAndContinue(); #else var file = await picker.PickSingleFileAsync(); await Continue(target, file); #endif }
private async Task Continue(FilePickTargets target, IStorageFile read, IStorageFile write = null) { switch (target) { case FilePickTargets.Databases: await _registration.RegisterAsync(read); break; case FilePickTargets.KeyFile: var view = _rootFrame.Content as FrameworkElement; if (view == null) break; var viewModel = view.DataContext as PasswordViewModel; if (viewModel != null) await viewModel.AddKeyFile(read); break; case FilePickTargets.Attachments: CachedFileManager.DeferUpdates(write); await read.CopyAndReplaceAsync(write); await CachedFileManager.CompleteUpdatesAsync(write); break; } }