private void EditSelectedProcessConfigurations(object argument) { var processConfigurationsToEdit = this.SelectedProcessConfigurations.ToList(); var dialog = new WorkItemConfigurationItemEditorDialog(processConfigurationsToEdit, "Process Configuration"); dialog.Owner = Application.Current.MainWindow; if (dialog.ShowDialog() == true) { var options = dialog.Options; var result = MessageBoxResult.Yes; if (!options.HasFlag(ImportOptions.Simulate)) { result = MessageBox.Show("This will import the edited process configurations. Are you sure you want to continue?", "Confirm Import", MessageBoxButton.YesNo, MessageBoxImage.Warning); } if (result == MessageBoxResult.Yes) { var teamProjectsWithProcessConfigurations = processConfigurationsToEdit.GroupBy(w => w.TeamProject).ToDictionary(g => g.Key, g => g.Select(w => w.Item).ToList()); PerformImport(teamProjectsWithProcessConfigurations, options); } } }
private void EditSelectedWorkItemTypes(object argument) { var workItemTypesToEdit = this.SelectedWorkItemTypes.ToList(); var dialog = new WorkItemConfigurationItemEditorDialog(workItemTypesToEdit.Select(w => new WorkItemConfigurationItemExport(w.TeamProject, w.WorkItemTypeDefinition)).ToList(), "Work Item Type"); dialog.Owner = Application.Current.MainWindow; if (dialog.ShowDialog() == true) { var options = dialog.Options; var result = MessageBoxResult.Yes; if (!options.HasFlag(ImportOptions.Simulate)) { result = MessageBox.Show("This will import the edited work item types. Are you sure you want to continue?", "Confirm Import", MessageBoxButton.YesNo, MessageBoxImage.Warning); } if (result == MessageBoxResult.Yes) { var teamProjectsWithWorkItemTypes = workItemTypesToEdit.GroupBy(w => w.TeamProject).ToDictionary(g => g.Key, g => g.Select(w => (WorkItemConfigurationItem)w.WorkItemTypeDefinition).ToList()); PerformImport(options, teamProjectsWithWorkItemTypes); } } }