public void OnGenerate(string metricsRootPath, string trPpcFilePrefix, string trEcFilePrefix, string tpFilePrefix, string infFilePrefix, string outputPath) { PpcEcGenerator generator = new PpcEcGenerator.Builder() .ProjectPath(metricsRootPath) .OutputPath(outputPath) .PrimePathCoveragePrefix(trPpcFilePrefix) .EdgeCoveragePrefix(trEcFilePrefix) .TestPathPrefix(tpFilePrefix) .InfeasiblePathPrefix(infFilePrefix) .WithObserver(homeView) .Build(); _ = Dispatcher.UIThread.InvokeAsync(() => { try { homeView.DisableGenerateButton(); string output = generator.GenerateCoverage(); window.NavigateToEndView(output); } catch (Exception ex) { homeView.DisplayErrorDialog(ex.ToString()); homeView.EnableGenerateButton(); } }); }