Пример #1
0
        private void AddFileToDatabase(DatabaseReference database)
        {
            var dialog = new OpenFileDialog()
            {
                Filter      = "All files|*.*",
                Multiselect = false
            };

            if (dialog.ShowDialog() != true)
            {
                return;
            }

            try
            {
                if (InputBoxWindow.ShowDialog("New file id:", "Enter new file id", Path.GetFileName(dialog.FileName), out string id) == true)
                {
                    var file = database.AddFile(id, dialog.FileName);
                    SelectedCollection = database.Collections.First(a => a.Name == "_files");
                    ListCollectionData.SelectedItem = file;
                    ListCollectionData.ScrollIntoView(ListCollectionData.SelectedItem);
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(
                    "Failed to upload file:" + Environment.NewLine + exc.Message,
                    "Database error",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error
                    );
            }
        }
Пример #2
0
        private void AddCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            if (SelectedCollection is FileCollectionReference)
            {
                AddFileToDatabase(SelectedCollection.Database);
            }
            else
            {
                var newDoc = new BsonDocument
                {
                    ["_id"] = ObjectId.NewObjectId()
                };

                ListCollectionData.SelectedItem = SelectedCollection.AddItem(newDoc);
                ListCollectionData.ScrollIntoView(ListCollectionData.SelectedItem);
                UpdateGridColumns(newDoc);
            }
        }
Пример #3
0
 private void SelectDocumentInView(DocumentReference document)
 {
     ListCollectionData.SelectedItem = document;
     ListCollectionData.ScrollIntoView(document);
 }