Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
                    }
                }
            }
        }