/// <summary> /// Executes the logic for this workflow activity. /// </summary> /// <param name="context">The workflow context.</param> /// <returns>The <see cref="Microsoft.TeamFoundation.Build.Client.IQueuedBuild"/> /// object that is returned after queueing the new build.</returns> protected override IQueuedBuild Execute(CodeActivityContext context) { if (context == null) { throw new ArgumentNullException("context"); } IBuildServer buildServer = context.GetValue(this.BuildServer); IBuildDefinition buildDefinition = context.GetValue(this.BuildDefinition); IBuildRequest buildRequest = buildServer.CreateBuildRequest(buildDefinition.Uri); buildRequest.Priority = context.GetValue(this.Priority); string processParameters = context.GetValue(this.ProcessParameters); if (!string.IsNullOrEmpty(processParameters)) { buildRequest.ProcessParameters = processParameters; } IBuildController buildController = context.GetValue(this.BuildController); if (buildController != null) { buildRequest.BuildController = buildController; } IQueuedBuild queuedBuild = buildServer.QueueBuild(buildRequest); return(queuedBuild); }
/// <summary> /// Executes the logic for this workflow activity. /// </summary> /// <returns>The <see cref="Microsoft.TeamFoundation.Build.Client.IQueuedBuild"/> /// object that is returned after queueing the new build.</returns> protected override IQueuedBuild InternalExecute() { IBuildServer buildServer = this.BuildServer.Get(this.ActivityContext); IBuildDefinition buildDefinition = this.BuildDefinition.Get(this.ActivityContext); IBuildRequest buildRequest = buildServer.CreateBuildRequest(buildDefinition.Uri); buildRequest.Priority = this.Priority.Get(this.ActivityContext); if (Enum.IsDefined(typeof(QueuePriority), buildRequest.Priority) == false) { // Set default value to normal, if no value has been passed. buildRequest.Priority = QueuePriority.Normal; } string processParameters = this.ProcessParameters.Get(this.ActivityContext); if (!string.IsNullOrEmpty(processParameters)) { buildRequest.ProcessParameters = processParameters; } IBuildController buildController = this.BuildController.Get(this.ActivityContext); if (buildController != null) { buildRequest.BuildController = buildController; } IQueuedBuild queuedBuild = buildServer.QueueBuild(buildRequest); return(queuedBuild); }
public VisibilitySettings(SDGuiStrings strings, ICoreConfigSection sharpdoxConfig, IBuildController buildController, IBuildMessenger buildMessenger) { Strings = strings; DataContext = new VisibilityViewModel(sharpdoxConfig, buildController, buildMessenger); InitializeComponent(); }
internal void EnableController(BuildController b, bool started) { IBuildController bc = buildSrv.GetBuildController(b.Uri, false); bc.Enabled = started; buildSrv.SaveBuildControllers(new IBuildController[] { bc }); }
public VisibilityViewModel(SharpDoxConfig sharpDoxConfig, IBuildController buildController, IBuildMessenger buildMessenger) { _sharpDoxConfig = sharpDoxConfig; _buildController = buildController; sharpDoxConfig.PropertyChanged += ConfigChanged; buildMessenger.OnParseCompleted += ParseCompleted; }
public ConfigGridControl(IConfigController configController, IExporter[] allExporters, LocalController localController, IBuildController buildController) { _allExporters = allExporters; _localController = localController; _configController = configController; _buildController = buildController; InitializeComponent(); InitializeGrid(); }
public ConfigSectionControl(LocalController localController, ICoreConfigSection coreConfigSection, IExporter[] allExporters, IBuildController buildController) { _localController = localController; _coreConfigSection = coreConfigSection; _allExporters = allExporters; _buildController = buildController; DataContext = this; InitializeComponent(); }
public VisibilityViewModel(ICoreConfigSection sharpDoxConfig, IBuildController buildController, Action onCloseHandle) { _sharpDoxConfig = sharpDoxConfig; _buildController = buildController; _onCloseHandle = onCloseHandle; sharpDoxConfig.PropertyChanged += ConfigChanged; buildController.BuildMessenger.OnParseCompleted += ParseCompleted; buildController.BuildMessenger.OnParseFailed += ParseStopped; }
public ConfigVisibilityControl(SDGuiStrings strings, ICoreConfigSection coreConfigSection, IBuildController buildController) { _strings = strings; _coreConfigSection = coreConfigSection; _buildController = buildController; coreConfigSection.PropertyChanged += ExcludedIdentifiersChanged; ExcludedIdentifiersChanged(null, null); DataContext = this; InitializeComponent(); }
static void BulkUpdateController(IBuildServer buildServer) { IBuildDefinition[] buildDefinitions = buildServer.QueryBuildDefinitions("Contoso"); IBuildController defaultBuildController = buildServer.QueryBuildServiceHosts("*") .Where(bsh => bsh.Controller != null).Select(bsh => bsh.Controller).First(); foreach (IBuildDefinition buildDefinition in buildDefinitions) { buildDefinition.BuildController = defaultBuildController; buildDefinition.Save(); } }
public BuildControllerViewModel(IBuildController controller) { this.Name = controller.Name; this.Tags = string.Empty; foreach (var tag in controller.Tags) { this.Tags += tag + "\n"; } this.Tags = this.Tags.TrimEnd('\n'); if (string.IsNullOrEmpty(this.Tags)) { this.Tags = "<No Tags>"; } }
public BuildWindow(SDGuiStrings strings, ICoreConfigSection sharpDoxConfig, IBuildController buildController, IBuildMessenger buildMessenger) { Strings = strings; _sharpDoxConfig = sharpDoxConfig; _buildController = buildController; _buildMessenger = buildMessenger; _buildMessenger.OnBuildMessage += BuilderOnMessage; _buildMessenger.OnStepMessage += BuilderOnStepMessage; _buildMessenger.OnBuildStopped += BuilderOnStopped; _buildMessenger.OnBuildProgress += BuilderOnBuildProgress; _buildMessenger.OnStepProgress += BuilderOnStepProgress; InitializeComponent(); }
public BuildWindow(SDGuiStrings strings, SharpDoxConfig sharpDoxConfig, IBuildController buildController, IBuildMessenger buildMessenger) { Strings = strings; _sharpDoxConfig = sharpDoxConfig; _buildController = buildController; _buildMessenger = buildMessenger; _buildMessenger.OnBuildMessage += BuilderOnMessage; _buildMessenger.OnStepMessage += BuilderOnStepMessage; _buildMessenger.OnBuildStopped += BuilderOnStopped; _buildMessenger.OnBuildProgress += BuilderOnBuildProgress; _buildMessenger.OnStepProgress += BuilderOnStepProgress; InitializeComponent(); }
public BuildControllerResourceViewModel(IBuildController controller) { this.Name = controller.Name; this.QueueCount = controller.QueueCount.ToString(CultureInfo.CurrentCulture); this.DateCreated = controller.DateCreated; this.DateUpdated = controller.DateUpdated; this.CustomAssemblyPath = controller.CustomAssemblyPath; this.MaxConcurrentBuilds = controller.MaxConcurrentBuilds.ToString(CultureInfo.CurrentCulture); this.Status = controller.Status.ToString(); this.Enabled = controller.Enabled; // this.Tags = controller.Tags; this.StatusMessage = controller.StatusMessage; this.Controller = controller; string url = controller.Url.ToString(); url = url.Substring(url.LastIndexOf(@"/", StringComparison.OrdinalIgnoreCase) + 1, url.Length - url.LastIndexOf(@"/", StringComparison.OrdinalIgnoreCase) - 1); this.Id = Convert.ToInt32(url); }
public void Start(string[] args) { _arguments = new ConsoleArguments(args); if (_arguments["config"] != null) { _configController.Load(_arguments["config"]); _buildController = _builderFactory(); _buildMessenger.OnBuildMessage += System.Console.WriteLine; _buildController.StartBuild(_configController.GetConfigSection<SharpDoxConfig>(), false); } else { System.Console.WriteLine(_strings.ConfigMissing + " -config " + _strings.Path); } System.Console.WriteLine(_strings.PressToEnd); System.Console.ReadLine(); }
public ShellViewModel(SDGuiStrings strings, IConfigController configController, IBuildController buildController, Action onCloseHandle) { _onCloseHandle = onCloseHandle; _buildController = buildController; _buildController.BuildMessenger.OnStepMessage += (s) => StepMessage = s; _configController = configController; Strings = strings; Config = configController.GetConfigSection <ICoreConfigSection>(); ConfigSections = configController.GetAllConfigSections().ToList(); ProgressBarViewModel = new ProgressBarViewModel(buildController, strings); _configController.OnRecentProjectsChanged += RecentProjectsChanged; _buildWindow = new BuildView(Strings, buildController.BuildMessenger); RecentProjectsChanged(); }
public void Start(string[] args) { _arguments = new ConsoleArguments(args); if (_arguments["config"] != null) { _configController.Load(_arguments["config"]); _buildController = _builderFactory(); _buildMessenger.OnBuildMessage += System.Console.WriteLine; _buildController.StartBuild(_configController.GetConfigSection <ICoreConfigSection>(), false); } else { System.Console.WriteLine(_strings.ConfigMissing + " -config " + _strings.Path); } System.Console.WriteLine(_strings.PressToEnd); System.Console.ReadLine(); }
public ProgressBarViewModel(IBuildController buildController, SDGuiStrings strings) { _strings = strings; BuildButtonText = strings.Build; _buildController = buildController; _buildController.BuildMessenger.OnBuildProgress += (i) => { if (i == 0) { ChangeProgress(BuildStatus.Running); } BuildProgress = i; }; _buildController.BuildMessenger.OnStepProgress += (i) => { StepProgress = i; }; _buildController.BuildMessenger.OnBuildCompleted += () => { ChangeProgress(BuildStatus.Success); }; _buildController.BuildMessenger.OnBuildFailed += () => { ChangeProgress(BuildStatus.Error); }; _buildController.BuildMessenger.OnBuildStopped += () => { ChangeProgress(BuildStatus.Stopped); }; _buildController.BuildMessenger.OnParseCompleted += (rep) => { ChangeProgress(BuildStatus.Success); }; _buildController.BuildMessenger.OnParseFailed += () => { ChangeProgress(BuildStatus.Error); }; _buildController.BuildMessenger.OnParseStopped += () => { ChangeProgress(BuildStatus.Stopped); }; }
private Tuple <MetadataItem, bool> GetMetadataFromProjectLevelCache(IBuildController controller, IInputParameters key) { DateTime triggeredTime = DateTime.UtcNow; var projectLevelCache = key.Cache; var projectConfig = key.BuildInfo; var rebuildProject = _rebuild || projectConfig == null || key.HasChanged(projectConfig); MetadataItem projectMetadata; if (!rebuildProject) { // Load from cache var cacheFile = Path.Combine(projectConfig.OutputFolder, projectConfig.RelativeOutputFiles.First()); Logger.Log(LogLevel.Info, $"'{projectConfig.InputFilesKey}' keep up-to-date since '{projectConfig.TriggeredUtcTime.ToString()}', cached intermediate result '{cacheFile}' is used."); if (TryParseYamlMetadataFile(cacheFile, out projectMetadata)) { return(Tuple.Create(projectMetadata, rebuildProject)); } else { Logger.Log(LogLevel.Info, $"'{projectConfig.InputFilesKey}' is invalid, rebuild needed."); } } projectMetadata = controller.ExtractMetadata(key); var file = Path.GetRandomFileName(); var cacheOutputFolder = projectLevelCache.OutputFolder; var path = Path.Combine(cacheOutputFolder, file); YamlUtility.Serialize(path, projectMetadata); Logger.Log(LogLevel.Verbose, $"Successfully generated metadata {cacheOutputFolder} for {projectMetadata.Name}"); // Save to cache projectLevelCache.SaveToCache(key.Key, key.Files, triggeredTime, cacheOutputFolder, new List <string>() { file }, key.Options); return(Tuple.Create(projectMetadata, rebuildProject)); }
static void CreateBuildDefinition(IBuildServer buildServer) { IBuildController defaultBuildController = buildServer.QueryBuildServiceHosts("*") .Where(bsh => bsh.Controller != null).Select(bsh => bsh.Controller).First(); IBuildDefinition buildDefinition = buildServer.CreateBuildDefinition("Contoso"); buildDefinition.Name = "HelloWorld"; buildDefinition.ContinuousIntegrationType = ContinuousIntegrationType.Individual; buildDefinition.BuildController = defaultBuildController; buildDefinition.DefaultDropLocation = @"\\CONTOSO\Projects\HelloWorld\drops"; IRetentionPolicy retentionPolicy = buildDefinition.RetentionPolicyList.Where( rp => rp.BuildReason == BuildReason.Triggered || rp.BuildStatus == BuildStatus.Succeeded) .First(); retentionPolicy.NumberToKeep = 2; retentionPolicy.DeleteOptions = DeleteOptions.All; buildDefinition.Save(); }
private void UpdateBuildDefinitions() { try { using (new WaitCursor()) { if (this.viewmodel.SelectedBuildView == BuildView.BuildDefinitions) { IEnumerable <IBuildDefinition> builds; if (this.SelectedController == BuildManagerViewModel.AllItem) { builds = this.SelectedTeamProject == BuildManagerViewModel.AllItem ? this.repository.AllBuildDefinitions : this.repository.GetBuildDefinitionsForTeamProject(this.SelectedTeamProject); } else { IBuildController controller = this.repository.GetController(this.SelectedController); builds = this.SelectedTeamProject == BuildManagerViewModel.AllItem ? this.repository.GetBuildDefinitions(controller) : this.repository.GetBuildDefinitions(controller, this.SelectedTeamProject); } builds = this.viewmodel.IncludeDisabledBuildDefinitions ? builds : builds.Where(b => b.QueueStatus == DefinitionQueueStatus.Enabled); this.viewmodel.AssignBuildDefinitions(builds); } else if (this.viewmodel.SelectedBuildView == BuildView.Builds) { this.UpdateBuilds(); } else if (this.viewmodel.SelectedBuildView == BuildView.BuildProcessTemplates) { this.UpdateBuildProcessTemplates(); } } } catch (Exception ex) { this.DisplayError(ex); } }
public IEnumerable<IBuildDefinition> GetBuildDefinitions(IBuildController controller, string teamProject) { return this.GetBuildDefinitionsForTeamProject(teamProject).Where(b => b.BuildController != null && b.BuildController.Uri == controller.Uri); }
public IEnumerable<IBuildDefinition> GetBuildDefinitions(IBuildController controller) { return this.AllBuildDefinitions.Where(bd => bd.BuildControllerUri == controller.Uri); }
public void EnableController(IBuildController controller) { controller.Enabled = true; controller.Save(); }
public void DisableController(IBuildController controller) { controller.Enabled = false; controller.Save(); }
public IBuildDetail CreateManualBuild(string buildNumber, string dropLocation, BuildStatus buildStatus, IBuildController controller, string requestedFor) { throw new NotImplementedException(); }
public IntermediateMetadataExtractor(IBuildController controller) { _controller = controller; }
public Shell(IConfigController configController, IExporter[] allExporters, LocalController localController, IBuildController buildController) { var guiStrings = localController.GetLocalStrings <SDGuiStrings>(); DataContext = new ShellViewModel(guiStrings, configController, buildController, ExecuteOnClose); Strings = guiStrings; InitializeComponent(); svBody.Content = new ConfigGridControl(configController, allExporters, localController, buildController); MouseLeftButtonDown += (s, a) => OnMouseDown(s, a); MouseLeftButtonUp += (s, a) => OnMouseUp(s, a); }
private void PopulateBuildTemplates(bool resort) { if (Context.BuildTemplates == null) { return; } this.lvBuildTemplates.BeginUpdate(); BackupSelectedItems(false); if (resort) { SortTemplatesListData(); } this.lvBuildTemplates.Groups.Clear(); string[] checkedProjects = UIContext.Instance.ControlTeamBuildFilter.CheckedProjects; foreach (string teamProject in checkedProjects) { this.lvBuildTemplates.Groups.Add(teamProject, teamProject); } this.lvBuildTemplates.Visible = true; try { UIContext.Instance.ProgressBegin(Context.BuildTemplates.Templates.Count, 1); this.lvBuildTemplates.Items.Clear(); List <BuildTemplate> brokenBuildTemplates = new List <BuildTemplate>(); Context.BuildTemplates.Templates.ForEach(buildTemplate => { //if (this.parentControl.selectedProjects.Contains(buildTemplate.TeamProject)) if (UIContext.Instance.ControlTeamBuildFilter.IsCheckedProject(buildTemplate.TeamProject)) { bool added = false; try { IBuildController buildController = Context.BuildServer.GetBuildController(new Uri(buildTemplate.BuildControllerUri), false); ListViewItem viewItem = this.lvBuildTemplates.Items.Add(buildTemplate.TemplateName); added = true; viewItem.Tag = buildTemplate; viewItem.SubItems.Add(buildTemplate.DefinitionName); viewItem.SubItems.Add(buildTemplate.BuildControllerName); //viewItem.SubItems.Add(buildController != null ? buildController.MachineName : string.Empty); viewItem.SubItems.Add(string.Empty); viewItem.SubItems.Add(buildTemplate.DefaultDropLocation); viewItem.SubItems.Add(buildTemplate.CommandLineArguments); viewItem.Group = this.lvBuildTemplates.Groups[buildTemplate.TeamProject]; } catch (Exception ex) { brokenBuildTemplates.Add(buildTemplate); if (added) { this.lvBuildTemplates.Items.RemoveAt(this.lvBuildTemplates.Items.Count - 1); } MessageBox.Show(string.Format("Error retrieving information about build template '{0}'.\n\r{1}\n\r\n\rThis build template will be removed from current list.", buildTemplate.TemplateName, ex.Message), "Loading build templates", MessageBoxButtons.OK, MessageBoxIcon.Error); } UIContext.Instance.ProgressDoStep(); } }); if (brokenBuildTemplates.Count > 0) { brokenBuildTemplates.ForEach(buildTemplate => Context.BuildTemplates.Templates.Remove(buildTemplate)); Context.BuildTemplates.SaveToFile(Context.BuildTemplates.Filename); } } finally { this.btnExportTemplates.Enabled = this.lvBuildTemplates.Items.Count > 0; UIContext.Instance.ProgressEnd(); this.lvBuildTemplates.EndUpdate(); RestoreSelectedItems(false); } }
public void RemoveBuildController(IBuildController controller) { this.buildServer.DeleteBuildAgents(controller.Agents.ToArray()); this.buildServer.DeleteBuildControllers(new[] { controller.Uri }); }
private void QueueBuildTemplate(BuildTemplate buildTemplate, bool queueingMultiple) { IBuildDefinition buildDefinition = Context.BuildServer.GetBuildDefinition(buildTemplate.TeamProject, buildTemplate.DefinitionName); bool started = buildDefinition != null; string exc_msg = "-"; IQueuedBuild queuedBuild = null; if (started) { try { IBuildRequest request = buildDefinition.CreateBuildRequest(); //IBuildAgent buildAgent = Context.BuildServer.GetBuildAgent(new Uri(buildTemplate.BuildControllerUri)); IBuildController buildController = Context.BuildServer.GetBuildController(buildTemplate.BuildControllerName); /*request.BuildAgent = buildAgent; * request.CommandLineArguments = buildTemplate.CommandLineArguments;*/ request.BuildController = buildController; BuildProcessParameters buildProcessParameters = buildDefinition.GetBuildProcessParameters(); buildProcessParameters.MSBuildArguments = buildTemplate.CommandLineArguments; request.ProcessParameters = buildProcessParameters.SaveToXml(); request.DropLocation = buildTemplate.DefaultDropLocation; request.Postponed = buildTemplate.Postponed; request.Priority = buildTemplate.RunPriority; request.RequestedFor = Context.LoggedUser; queuedBuild = Context.BuildServer.QueueBuild(request); if (!queueingMultiple) { started = queuedBuild.WaitForBuildStart(10000, 10000); } } catch (Exception e) { exc_msg = e.Message; } } if (!queueingMultiple) { string message = started ? string.Format("Team build template '{0}' started successfully", buildTemplate.TemplateName) : string.Format("Team build template '{0}' failed to start, message: {1}", buildTemplate.TemplateName, exc_msg); ToolTipIcon icon = started ? ToolTipIcon.Info : ToolTipIcon.Warning; string caption = string.Format("Queue team build template '{0}'", buildTemplate.TemplateName); UIContext.Instance.ShowTrayTooltip(caption, message, icon, new NavigateToTeamBuildDefinitionHandler(buildTemplate)); //MessageBox.Show(message, string.Format("Queue team build template '{0}'", buildTemplate.TemplateName), MessageBoxButtons.OK, icon);); if (started && queuedBuild != null) { //this.parentControl.FocusAndSelectTeamBuild(queuedBuild); UIContext.Instance.ControlTeamBuilds.FocusAndSelectTeamBuild(queuedBuild); } } }
public void TestConnection(BuildController b) { IBuildController bc = buildSrv.GetBuildController(b.Uri, false); buildSrv.TestConnectionForBuildController(bc); }
private void UpdateBuildDefinitions() { if (this.SelectedTeamProject == null) { return; } #if !DEBUG try { #endif using (new WaitCursor()) { if (this.dispatcherTimer.IsEnabled) { this.dispatcherTimer.Stop(); } if (this.viewmodel.SelectedBuildView == BuildView.BuildDefinitions) { IEnumerable <IBuildDefinition> builds; if (this.SelectedController == BuildManagerViewModel.AllItem) { builds = this.SelectedTeamProject == BuildManagerViewModel.AllItem ? this.repository.AllBuildDefinitions : this.repository.GetBuildDefinitionsForTeamProject(this.SelectedTeamProject); } else { IBuildController controller = this.repository.GetController(this.SelectedController); builds = this.SelectedTeamProject == BuildManagerViewModel.AllItem ? this.repository.GetBuildDefinitions(controller) : this.repository.GetBuildDefinitions(controller, this.SelectedTeamProject); } builds = this.viewmodel.IncludeDisabledBuildDefinitions ? builds : builds.Where(b => b.QueueStatus != DefinitionQueueStatus.Disabled); if (!string.IsNullOrWhiteSpace(this.viewmodel.BuildDefinitionFilter)) { // if it starts with $/ then we seach on workspace mappings if (this.viewmodel.BuildDefinitionFilter.StartsWith(@"$/", StringComparison.OrdinalIgnoreCase)) { if (!string.IsNullOrWhiteSpace(this.viewmodel.BuildDefinitionFilter)) { List <IBuildDefinition> builds2 = new List <IBuildDefinition>(); var filter = this.viewmodel.BuildDefinitionFilter; builds2.AddRange(builds.Where(b => b.Workspace.Mappings.Any(mapping => mapping.ServerItem.StartsWith(filter, StringComparison.OrdinalIgnoreCase)))); var buildDefinitions = builds2.ToArray(); this.viewmodel.AssignBuildDefinitions(buildDefinitions); this.lblCount.Content = buildDefinitions.Count(); } } else if (this.viewmodel.BuildDefinitionFilter.StartsWith(@"*", StringComparison.OrdinalIgnoreCase)) { // if it starts with * then we are going to search Process Parameters if (this.viewmodel.BuildDefinitionFilter == "*" || this.viewmodel.BuildDefinitionFilter == "**") { return; } List <IBuildDefinition> builds2 = new List <IBuildDefinition>(); foreach (IBuildDefinition b in builds) { var processParameters = WorkflowHelpers.DeserializeProcessParameters(b.ProcessParameters); // if it starts with ** we do a contains, otherwise it starts with * and we do a compare. if (this.viewmodel.BuildDefinitionFilter.StartsWith(@"**", StringComparison.OrdinalIgnoreCase)) { bool found = false; foreach (var parameter in processParameters) { // some process parameters are arrays so we need to look at each key value pair in the arrays if (parameter.Value.GetType().GetElementType() == typeof(string)) { string[] arr = ((IEnumerable)parameter.Value).Cast <object>().Select(x => x.ToString()).ToArray(); if (arr.Any(s => s.IndexOf(this.viewmodel.BuildDefinitionFilter.Replace("*", string.Empty), StringComparison.OrdinalIgnoreCase) >= 0)) { builds2.Add(b); found = true; } } else { if (parameter.Value.ToString().IndexOf(this.viewmodel.BuildDefinitionFilter.Replace("*", string.Empty), StringComparison.OrdinalIgnoreCase) >= 0) { builds2.Add(b); found = true; } } if (!found && this.viewmodel.BuildDefinitionFilter.StartsWith(@"***", StringComparison.OrdinalIgnoreCase)) { Regex r = new Regex(@"<this:Process\..*>*" + this.viewmodel.BuildDefinitionFilter.Replace("*", string.Empty) + ".*</", RegexOptions.IgnoreCase); Match match = r.Match(b.Process.Parameters); if (match.Success) { builds2.Add(b); found = true; } } if (found) { break; } } } else { bool found = false; foreach (var parameter in processParameters) { if (parameter.Value.GetType().GetElementType() == typeof(string)) { string[] arr = ((IEnumerable)parameter.Value).Cast <object>() .Select(x => x.ToString()) .ToArray(); if (arr.Any(s => string.Compare(s, this.viewmodel.BuildDefinitionFilter.Replace("*", string.Empty), StringComparison.OrdinalIgnoreCase) == 0)) { builds2.Add(b); found = true; } } else { if (string.Compare(parameter.Value.ToString(), this.viewmodel.BuildDefinitionFilter.Replace("*", string.Empty), StringComparison.OrdinalIgnoreCase) == 0) { builds2.Add(b); found = true; } } if (found) { break; } } } } var buildDefinitions = builds2.ToArray(); this.viewmodel.AssignBuildDefinitions(buildDefinitions); this.lblCount.Content = buildDefinitions.Count(); } else { var filter = this.viewmodel.BuildDefinitionFilter.ToUpperInvariant(); builds = builds.Where(b => b.Name.ToUpperInvariant().Contains(filter)).ToArray(); var buildDefinitions = builds as IBuildDefinition[]; this.viewmodel.AssignBuildDefinitions(buildDefinitions); this.lblCount.Content = buildDefinitions.Count(); } } else { var buildDefinitions = builds as IBuildDefinition[] ?? builds.ToArray(); this.viewmodel.AssignBuildDefinitions(buildDefinitions); this.lblCount.Content = buildDefinitions.Count(); } } else if (this.viewmodel.SelectedBuildView == BuildView.Builds) { this.UpdateBuilds(); } else if (this.viewmodel.SelectedBuildView == BuildView.BuildProcessTemplates) { this.UpdateBuildProcessTemplates(); } else if (this.viewmodel.SelectedBuildView == BuildView.BuildResources) { this.UpdateBuildResources(); } } #if !DEBUG } catch (Exception ex) { this.DisplayError(ex); } #endif }
private static DirectedGraphNode CreateControllerNode(IBuildController controller) { return(new DirectedGraphNode { Id = controller.Name, Label = controller.Name, Category1 = controller.Enabled ? BuildControllerCategory : DisabledBuildControllerCategory }); }
private static DirectedGraphNode CreateControllerNode(IBuildController controller) { return new DirectedGraphNode { Id = controller.Name, Label = controller.Name, Category1 = controller.Enabled ? BuildControllerCategory : DisabledBuildControllerCategory }; }
internal IQueuedBuild[] GetBuildQueue(IBuildController controller) { List<IQueuedBuild> queuedBuilds = new List<IQueuedBuild>(GetBuildQueue()); return queuedBuilds.Where(build => build.BuildControllerUri == controller.Uri).ToArray(); }
public IEnumerable <IBuildDefinition> GetBuildDefinitions(IBuildController controller) { return(this.AllBuildDefinitions.Where(bd => bd.BuildControllerUri == controller.Uri)); }
public VisibilityEditorView(SDGuiStrings strings, ICoreConfigSection sharpdoxConfig, IBuildController buildController) { Strings = strings; DataContext = new VisibilityViewModel(sharpdoxConfig, buildController, Hide); InitializeComponent(); MouseLeftButtonDown += (s, a) => DragMove(); }
public IEnumerable <IBuildDefinition> GetBuildDefinitions(IBuildController controller, string teamProject) { return(this.GetBuildDefinitionsForTeamProject(teamProject).Where(b => b.BuildController != null && b.BuildController.Uri == controller.Uri)); }