private void ViewResultsButton_Click(object sender, RoutedEventArgs e) { var openQueueResultsDialog = new OpenFileDialog(); openQueueResultsDialog.Filter = CustomCommands.QueueResultsFilenameFilter; openQueueResultsDialog.InitialDirectory = Options.CurrentUserOptions.CurrentMatchQueueResultsPath; if (openQueueResultsDialog.ShowDialog() == true) { try { DarwinDatabase resultsDB; DatabaseFin databaseFin; MatchResults results = _vm.LoadMatchResults(openQueueResultsDialog.FileName, out resultsDB, out databaseFin); if (resultsDB == null || databaseFin == null || results == null) { throw new Exception("Missing object"); } if (resultsDB.Filename.ToLower() != _vm.MatchingQueue.Database.Filename.ToLower()) { MessageBox.Show(this, "Warning: This queue was run against a different database " + Environment.NewLine + "the currently loaded database. The database used for the queue " + Environment.NewLine + "is being loaded to view the results. This will not change the " + Environment.NewLine + "database you have loaded.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); } var matchingResultsWindowVM = new MatchingResultsWindowViewModel( databaseFin, results, resultsDB); var matchingResultsWindow = new MatchingResultsWindow(matchingResultsWindowVM); matchingResultsWindow.Show(); } catch (Exception ex) { Trace.Write(ex); MessageBox.Show(this, "There was a problem loading your results.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void MatchWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (!_vm.CancelMatching) { if (_vm.Match.MatchResults == null || _vm.Match.MatchResults.Count < 1) { MessageBox.Show("Selected Catalog Categories are ALL EMPTY!"); return; } else { // Matching is done, go to the results window var matchingResultsWindowVM = new MatchingResultsWindowViewModel( _vm.Match.UnknownFin, _vm.Match.MatchResults, _vm.Database); var matchingResultsWindow = new MatchingResultsWindow(matchingResultsWindowVM); matchingResultsWindow.Show(); } } this.Close(); }