public ShowResultsViewModel(ExperimentStatusViewModel st, string sharedDirectory, ExperimentManager manager, AzureExperimentManagerViewModel managerVm, ExperimentListViewModel experimentsVm, RecentValuesStorage recentValues, IUIService uiService) { if (manager == null) { throw new ArgumentNullException("manager"); } if (managerVm == null) { throw new ArgumentNullException(nameof(managerVm)); } if (uiService == null) { throw new ArgumentNullException("uiService"); } if (experimentsVm == null) { throw new ArgumentNullException(nameof(experimentsVm)); } this.manager = manager; this.managerVm = managerVm; this.experimentsVm = experimentsVm; this.uiService = uiService; this.statusVm = st; this.id = st.ID; this.sharedDirectory = sharedDirectory; this.benchmarkTimeout = st.Definition.BenchmarkTimeout; this.jobStatus = ExperimentExecutionStateVM.Loading; this.benchmarkContainerUri = st.Definition.BenchmarkContainerUri; this.recentValues = recentValues; RefreshResultsAsync(); }
private async void btnConnect_Click(object sender, RoutedEventArgs e) { try { btnConnect.IsEnabled = false; if (experimentsVm == null) { var handle = uiService.StartIndicateLongOperation("Connecting..."); try { managerVm = await ConnectAsync(connectionString.Text); experimentsVm = managerVm.BuildListView(); } finally { uiService.StopIndicateLongOperation(handle); } DataContext = experimentsVm; recentValues.ConnectionString = connectionString.Text; connectionString.IsReadOnly = true; btnConnect.Content = "Disconnect"; btnConnect.IsEnabled = true; btnNewJob.IsEnabled = true; btnUpdate.IsEnabled = true; menuNewJob.IsEnabled = true; menuNewCatchAll.IsEnabled = true; btnEdit.Visibility = Visibility.Collapsed; } else // disconnect { experimentsVm = null; connectionString.IsReadOnly = false; btnConnect.Content = "Connect"; btnConnect.IsEnabled = true; DataContext = null; btnNewJob.IsEnabled = false; btnUpdate.IsEnabled = false; menuNewJob.IsEnabled = false; menuNewCatchAll.IsEnabled = false; btnEdit.Visibility = Visibility.Visible; } } catch (Exception ex) { btnConnect.IsEnabled = true; uiService.ShowError(ex, "Failed to connect"); } }
public ShowResultsViewModel BuildResultsView(ExperimentStatusViewModel st, string directory, ExperimentListViewModel experimentsVm, RecentValuesStorage recentValues) { return(new ShowResultsViewModel(st, directory, manager, this, experimentsVm, recentValues, uiService)); }