Example #1
0
        private async void showReinforcements(object target, ExecutedRoutedEventArgs e)
        {
            var handle = uiService.StartIndicateLongOperation("Calling reinforcements...");

            try
            {
                string creator     = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                int    n           = dataGrid.SelectedItems.Count;
                var    experiments = new ExperimentStatusViewModel[n];
                for (int i = 0; i < n; i++)
                {
                    experiments[i] = (ExperimentStatusViewModel)dataGrid.SelectedItems[i];
                }

                for (int i = 0; i < n; i++)
                {
                    try
                    {
                        var experiment = experiments[i];
                        await managerVm.Reinforce(experiment.ID, experiment.Definition);
                    }
                    catch (Exception ex)
                    {
                        uiService.ShowError(ex, "Failed to submit an experiment");
                        return;
                    }
                }

                experimentsVm.Refresh();
            }
            catch (Exception ex)
            {
                uiService.ShowError(ex, "Failed to call reinforcements");
            }
            finally
            {
                uiService.StopIndicateLongOperation(handle);
            }
        }