/// <summary> /// Method called from the view. Generate a report from a set of selected configurations once /// all conditions are fulfilled. /// </summary> public void MakeReport() { Task.Run(() => { StartLongOperation(); // Execute the Query string batchFilename = LoadedBatch; LoadedBatch = "Running query"; List <TrackGroup> queryResultTracks = null; List <Report> queryReports = null; try { Query.Execute(LoggedExperiments, OnExperimentalUnitProcessed, out queryResultTracks, out queryReports); } catch (Exception ex) { string exception = ex.ToString(); } //Clone the query LogQueryViewModel clonedQuery = Serialiazer.Clone(Query); //Create and add to list the result of the query LogQueryResultViewModel result = new LogQueryResultViewModel(queryResultTracks, queryReports, clonedQuery); LogQueryResults.Add(result); //set this last result as selected SelectedLogQueryResult = LogQueryResults[LogQueryResults.Count - 1]; LoadedBatch = batchFilename; EndLongOperation(); }); }