private void CopyCommand_Executed(object sender, ExecutedRoutedEventArgs e) { var data = new BsonArray(DbSelectedItems.Select(a => a.LiteDocument)); Clipboard.SetData(DataFormats.Text, JsonSerializer.Serialize(data, true, false)); }
private void ExportCommand_Executed(object sender, ExecutedRoutedEventArgs e) { if (SelectedCollection is FileCollectionReference) { if (DbSelectedItems.Count() == 1) { var file = DbSelectedItems.First(); var dialog = new SaveFileDialog() { Filter = "All files|*.*", FileName = file.LiteDocument["filename"], OverwritePrompt = true }; if (dialog.ShowDialog() == true) { (file.Collection as FileCollectionReference).SaveFile(file, dialog.FileName); } } else { var dialog = new CommonOpenFileDialog() { IsFolderPicker = true, Title = "Select folder to export files to..." }; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { foreach (var file in DbSelectedItems) { var path = Path.Combine(dialog.FileName, file.LiteDocument["_id"].AsString + "-" + file.LiteDocument["filename"].AsString); var dir = Path.GetDirectoryName(path); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } (file.Collection as FileCollectionReference).SaveFile(file, path); } } } } else { var dialog = new SaveFileDialog() { Filter = "Json File|*.json", FileName = "export.json", OverwritePrompt = true }; if (dialog.ShowDialog() == true) { if (DbSelectedItems.Count() == 1) { File.WriteAllText(dialog.FileName, JsonSerializer.Serialize(DbSelectedItems.First().LiteDocument, true, false)); } else { var data = new BsonArray(DbSelectedItems.Select(a => a.LiteDocument)); File.WriteAllText(dialog.FileName, JsonSerializer.Serialize(data, true, false)); } } } }