コード例 #1
0
        public DeleteDocumentHandler GetDeleteDocumentHandler()
        {
            if (_deleteDocumentHandler == null)
            {
                _deleteDocumentHandler = new DeleteDocumentHandler();
            }

            return(_deleteDocumentHandler);
        }
コード例 #2
0
        private void OnDeleteClicked(object sender, MouseButtonEventArgs e)
        {
            var document = (DocumentViewModel)((FrameworkElement)sender).DataContext;

            var result = MessageBox.Show($"Ben je zeker dat je document {document.Beschrijving} van " +
                                         $"{document.Correspondent} voor {document.VoorWie} op datum " +
                                         $"{document.DatumOntvangen:dd-MM-yyy} en álle daaraan gerelateerde scans " +
                                         $"wil verwijderen ?",
                                         "Document verwijderen", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.No)
            {
                return;
            }

            var warnings = DeleteDocumentHandler.Handle(new DeleteDocumentCommand
            {
                Id = document.Id
            });

            var dataContext = (ObservableCollection <DocumentViewModel>)FoundItemsDataGrid.DataContext;
            var doc         = dataContext.Single(x => x.Id == document.Id);

            dataContext.Remove(doc);

            if (!warnings.Any())
            {
                return;
            }

            var message = warnings
                          .Aggregate("Sommige bestanden konden niet verwijderd worden:\n",
                                     (current, warning) => $"{current}-{warning}\n");

            throw new ScanMonitorException(message);
        }