public void RemoveBuildProcessTemplates(IEnumerable<string> templates, IEnumerable<string> teamProjects, EvaluateRemoveBuildProcessTemplate shouldRemove) { foreach (var teamProject in teamProjects) { foreach (var template in templates.ToList()) { if (this.buildServer.QueryBuildDefinitions(teamProject).Any(bd => bd.Process != null && bd.Process.ServerPath == template)) { if (!shouldRemove()) { return; } } var t = this.buildServer.QueryProcessTemplates(teamProject).FirstOrDefault(pt => pt.ServerPath == template); if (t != null) { if (t.TemplateType == ProcessTemplateType.Default) { t.TemplateType = ProcessTemplateType.Custom; t.Save(); } t.Delete(); } } } }
public void RemoveBuildProcessTemplates(IEnumerable <string> templates, IEnumerable <string> teamProjects, EvaluateRemoveBuildProcessTemplate shouldRemove) { foreach (var teamProject in teamProjects) { foreach (var template in templates.ToList()) { if (this.buildServer.QueryBuildDefinitions(teamProject).Any(bd => bd.Process != null && bd.Process.ServerPath == template)) { if (!shouldRemove()) { return; } } var t = this.buildServer.QueryProcessTemplates(teamProject).FirstOrDefault(pt => pt.ServerPath == template); if (t != null) { if (t.TemplateType == ProcessTemplateType.Default) { t.TemplateType = ProcessTemplateType.Custom; t.Save(); } t.Delete(); } } } }