public async void OpenProject(string path) { _loadingDisplayer.ShowLoading($"Opening project at {Path.GetFileName(path)}"); UnimaConfig config = null; try { config = await Task.Run(() => _mediator.Send(new OpenProjectCommand(path, true))); _mutationModuleTabOpener.OpenOverviewTab(config); } catch (ValidationException ex) { ErrorDialogDisplayer.ShowErrorDialog("Unexpected error", "Failed to open project.", ex.Message); return; } catch (OpenProjectException ex) { ErrorDialogDisplayer.ShowErrorDialog("Unexpected error", "Failed to open project.", ex.InnerException?.ToString()); return; } finally { _loadingDisplayer.HideLoading(); } }
private async void CreateDocuments() { _loadingDisplayer.ShowLoading("Creating mutation documents.."); try { var settings = MutationOperatorGridItems.Where(m => m.IsSelected).Select(m => m.MutationOperator); var command = new CreateMutationsCommand(_config, settings.Select(MutationOperatorFactory.GetMutationOperator).ToList()); var mutationDocuments = await Task.Run(() => _mediator.Send(command)); var fileNames = mutationDocuments.Select(r => r.FileName).Distinct(); foreach (var fileName in fileNames) { Documents.Add(new DocumentRowModel { MFile = new FileMutationsModel(fileName, mutationDocuments.Where(m => m.FileName == fileName).ToList()) }); } } catch (MutationDocumentException ex) { ErrorDialogDisplayer.ShowErrorDialog("Failed to create mutations", ex.Message, ex.InnerException?.Message); } finally { _loadingDisplayer.HideLoading(); } }
public async void OpenMutationReport(string path) { try { _loadingDisplayer.ShowLoading($"Loading report at \"{path}\""); var report = await Task.Run(() => JsonConvert.DeserializeObject <UnimaReport>(File.ReadAllText(path))); if (report?.Mutations == null) { ErrorDialogDisplayer.ShowErrorDialog( "Unexpected error when loading report", "Report is null (did you try to open an empty file?). Please try to open a different file."); return; } _mutationModuleTabOpener.OpenTestRunTab(report); } catch (Exception ex) { ErrorDialogDisplayer.ShowErrorDialog( "Unexpected error when loading report", $"Could not load project at {path}. Please check details for more information.", ex.ToString()); } finally { _loadingDisplayer.HideLoading(); } }