/// <summary> /// </summary> private void ValidateState() { BuildSelectionRule SelectionRule = (BuildSelectionRule)selectionRuleComboBox.SelectedIndex; BuildSelectionFilter SelectionFilter = (BuildSelectionFilter)selectionFilterComboBox.SelectedIndex; bool IsScmSelectionRule = SelectionFilter == BuildSelectionFilter.BuildTimeBeforeScmSyncTime || SelectionFilter == BuildSelectionFilter.BuildTimeAfterScmSyncTime || SelectionFilter == BuildSelectionFilter.BuildNameBelowFileContents || SelectionFilter == BuildSelectionFilter.BuildNameAboveFileContents || SelectionFilter == BuildSelectionFilter.BuildNameEqualsFileContents; bool IsScmFileRule = SelectionFilter == BuildSelectionFilter.BuildNameBelowFileContents || SelectionFilter == BuildSelectionFilter.BuildNameAboveFileContents || SelectionFilter == BuildSelectionFilter.BuildNameEqualsFileContents; addDownloadButton.Enabled = downloadFileSystemTree.SelectedPath.Length > 0 && nameTextBox.Text.Trim().Length > 3 && !nameTextBox.Text.Contains("$") && priorityComboBox.SelectedIndex >= 0 && ( !IsScmSelectionRule || workspaceComboBox.Enabled && workspaceComboBox.SelectedIndex >= 0 ) && ( !IsScmFileRule || scmFileTextBox.Enabled && scmFileTextBox.Text.Trim().Length >= 3 ); bool HasSelectedBuild = downloadFileSystemTree.SelectedManifestId != Guid.Empty; autoUpdateCheckBox.Visible = !HasSelectedBuild; buildSelectionRulePanel.Visible = !HasSelectedBuild; scmSettingsPanel.Visible = !HasSelectedBuild && IsScmSelectionRule; scmFilePanel.Visible = !HasSelectedBuild && IsScmFileRule; }
/// <summary> /// </summary> /// <param name="Name"></param> /// <param name="VirtualPath"></param> /// <param name="Priority"></param> /// <param name="KeepUpToDate"></param> public DownloadState AddDownload(string Name, string VirtualPath, int Priority, BuildSelectionRule Rule, BuildSelectionFilter Filter, string SelectionFilterFilePath, string ScmWorkspaceLocation, bool AutomaticallyUpdate, bool AutomaticallyInstall, string InstallDeviceName, string InstallLocation, List <Guid> IncludeTags, List <Guid> ExcludeTags, bool DeleteOnComplete = false) { DownloadState State = new DownloadState(); State.Id = Guid.NewGuid(); State.Name = Name; State.VirtualPath = VirtualPath; State.Priority = Priority; State.UpdateAutomatically = AutomaticallyUpdate; State.InstallAutomatically = AutomaticallyInstall; State.InstallDeviceName = InstallDeviceName; State.InstallLocation = InstallLocation; State.SelectionRule = Rule; State.SelectionFilter = Filter; State.SelectionFilterFilePath = SelectionFilterFilePath; State.ScmWorkspaceLocation = ScmWorkspaceLocation; State.IncludeTags = IncludeTags; State.ExcludeTags = ExcludeTags; State.IsAutomaticReplication = DeleteOnComplete; StateCollection.States.Add(State); AreStatesDirty = true; return(State); }