private void dgvProjects_SelectionChanged(object sender, EventArgs e) { if (dgvProjects.SelectedRows.Count > 0) { GitConfigs.Project project = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()); txtProjectGuid.Text = project.EntityGuid; txtProjectName.Text = project.EntityName; txtProjectOutputFileName.Text = project.OutputFileName; chkProjectActive.Checked = project.Active; txtProjectGuid.Enabled = false; pnlRepositories.Enabled = true; btnBuildBashFile.Enabled = true; btnViewBashFile.Enabled = true; bRepositorySource.DataSource = project.RepositoryList; if (dgvRepositories.DataSource == null) { dgvRepositories.DataSource = bRepositorySource; } else { bRepositorySource.ResetBindings(true); } chkRepositoryPerformPruneAtEnd.Checked = true; enableDisableBranches(project); } }
private void btnSaveRepository_Click(object sender, EventArgs e) { GitConfigs.Repository recordObj; bool newRecord = false; GitConfigs.Project project = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()); if (project.RepositoryList.Count > 0 && txtRepositoryGuid.Text == String.Empty) { List <GitConfigs.Repository> repositoriesFound = project.RepositoryList.FindAll(x => x.EntityName == txtRepositoryName.Text || x.FolderPath == txtRepositoryFolderPath.Text); if (repositoriesFound.Count > 1) { MessageBox.Show("There are duplicate records with that Name and Folder Path"); return; } if (repositoriesFound.Count == 1) { txtRepositoryGuid.Text = repositoriesFound[0].EntityGuid; } } if (project.RepositoryList.Count == 0 || txtRepositoryGuid.Text == String.Empty) { newRecord = true; recordObj = new GitConfigs.Repository(); } else { recordObj = project.RepositoryList.Find(x => x.EntityGuid == txtRepositoryGuid.Text); if (recordObj == null) { newRecord = true; recordObj = new GitConfigs.Repository(); } } recordObj.EntityName = txtRepositoryName.Text; recordObj.FolderPath = txtRepositoryFolderPath.Text; recordObj.PerformPruneAtEnd = chkRepositoryPerformPruneAtEnd.Checked; recordObj.Active = chkRepositoryActive.Checked; if (newRecord) { if (txtRepositoryGuid.Text == String.Empty) { btnRepositoryGuidGenerator_Click(null, null); } recordObj.EntityGuid = txtRepositoryGuid.Text; project.RepositoryList.Add(recordObj); } saveSettings(); btnRepositoryClear_Click(null, null); bRepositorySource.ResetBindings(true); enableDisableBranches(project); }
private void btnSaveProject_Click(object sender, EventArgs e) { GitConfigs.Project recordObj; bool newRecord = false; if (settingsXml.ProjectList.Count > 0 && txtProjectGuid.Text == String.Empty) { List <GitConfigs.Project> projectsFound = settingsXml.ProjectList.FindAll(x => x.EntityName == txtProjectName.Text || x.OutputFileName == txtProjectOutputFileName.Text); if (projectsFound.Count > 1) { MessageBox.Show("There are duplicate records with that Name and Output File Name"); return; } if (projectsFound.Count == 1) { txtProjectGuid.Text = projectsFound[0].EntityGuid; } } if (settingsXml.ProjectList.Count == 0 || txtProjectGuid.Text == String.Empty) { newRecord = true; recordObj = new GitConfigs.Project(); } else { recordObj = settingsXml.ProjectList.Find(x => x.EntityGuid == txtProjectGuid.Text); if (recordObj == null) { newRecord = true; recordObj = new GitConfigs.Project(); } } recordObj.EntityName = txtProjectName.Text; recordObj.OutputFileName = txtProjectOutputFileName.Text; recordObj.Active = chkProjectActive.Checked; if (newRecord) { if (txtProjectGuid.Text == String.Empty) { btnProjectGuidGenerator_Click(null, null); } recordObj.EntityGuid = txtProjectGuid.Text; settingsXml.ProjectList.Add(recordObj); } saveSettings(); btnProjectClear_Click(null, null); bProjectSource.ResetBindings(true); }
private DataTable getBranches() { DataTable dtBranches = new DataTable(); dtBranches.Columns.Add("Repository", typeof(string)); dtBranches.Columns.Add("Name", typeof(string)); dtBranches.Columns.Add("Guid", typeof(string)); if (dtBranches.Rows.Count > 0 || dgvProjects.SelectedRows.Count > 0) { if (dgvRepositories.SelectedRows.Count > 0) { dtBranches = getBranchesByRepository(dtBranches, getRepository()); } else { GitConfigs.Project project = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()); foreach (GitConfigs.Repository repository in project.RepositoryList) { dtBranches = getBranchesByRepository(dtBranches, repository); } } } if (dtBranches.Rows.Count == 0) { foreach (GitConfigs.Branch branch in settingsXml.BranchList) { if (branch.Active) { var newRow = dtBranches.NewRow(); newRow["Name"] = branch.EntityName; newRow["Guid"] = branch.EntityGuid; dtBranches.Rows.Add(newRow); } } } if (dtBranches != null && dtBranches.Rows.Count > 0) { dgvBranches.Columns["Repository"].Visible = dtBranches.Rows[0]["Repository"].ToString() != String.Empty; } return(dtBranches); }
private void enableDisableBranches(GitConfigs.Project currentproject) { pnlBranches.Enabled = settingsXml.ProjectList.Count > 0 && (from project in settingsXml.ProjectList where project.RepositoryList.Count > 0 select project.EntityGuid).ToList <string>().Count > 0; if (pnlBranches.Enabled) { loadBranchMergeFromBranch_DataSet(); if (currentproject != null) { bool enableDisbale = currentproject.RepositoryList.Count > 0; rdBranchAppliesToAllRepositoriesInCurrentProject.Enabled = enableDisbale; rdBranchAppliesToSpecificRepositories.Enabled = enableDisbale; } } }
private void HandleApplyToSpecificRepositories() { if (rdBranchAppliesToSpecificRepositories.Checked) { chklBranchesAppliesToSpecificRepositories.Visible = true; GitConfigs.Project project = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()); if (project != null) { chklBranchesAppliesToSpecificRepositories.ClearSelected(); chklBranchesAppliesToSpecificRepositories.Items.Clear(); chklBranchesAppliesToSpecificRepositories.Items.AddRange(project.RepositoryList.ToArray <GitConfigs.Repository>()); chklBranchesAppliesToSpecificRepositories.DisplayMember = "EntityName"; chklBranchesAppliesToSpecificRepositories.ValueMember = "EntityGuid"; } } else { chklBranchesAppliesToSpecificRepositories.Visible = false; chklBranchesAppliesToSpecificRepositories.Items.Clear(); } }
private void btnSaveBranch_Click(object sender, EventArgs e) { var branchGuid = saveBranch(); if (rdBranchAppliesToAllRepositoriesAllProjects.Checked) { foreach (GitConfigs.Project project in settingsXml.ProjectList) { foreach (GitConfigs.Repository repository in project.RepositoryList) { if (!repository.repositoryBranchOrderList.Exists(x => x.BranchGuid == branchGuid)) { GitConfigs.RepositoryBranchOrder repositoryBranchOrderItem = new GitConfigs.RepositoryBranchOrder(); repositoryBranchOrderItem.OrderBy = repository.repositoryBranchOrderList.Count + 1; repositoryBranchOrderItem.BranchGuid = branchGuid; repository.repositoryBranchOrderList.Add(repositoryBranchOrderItem); } } } } else if (rdBranchAppliesToAllRepositoriesInCurrentProject.Checked) { GitConfigs.Project project = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()); foreach (GitConfigs.Repository repository in project.RepositoryList) { if (!repository.repositoryBranchOrderList.Exists(x => x.BranchGuid == branchGuid)) { GitConfigs.RepositoryBranchOrder repositoryBranchOrderItem = new GitConfigs.RepositoryBranchOrder(); repositoryBranchOrderItem.OrderBy = repository.repositoryBranchOrderList.Count + 1; repositoryBranchOrderItem.BranchGuid = branchGuid; repository.repositoryBranchOrderList.Add(repositoryBranchOrderItem); } } } else if (rdBranchAppliesToSpecificRepositories.Checked) { foreach (DataRowView view in chklBranchesAppliesToSpecificRepositories.CheckedItems) { var checkedItem = view[chklBranchesAppliesToSpecificRepositories.ValueMember].ToString(); GitConfigs.Repository repository = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()).RepositoryList.Find(x => x.EntityGuid == checkedItem); if (!repository.repositoryBranchOrderList.Exists(x => x.BranchGuid == branchGuid)) { GitConfigs.RepositoryBranchOrder repositoryBranchOrderItem = new GitConfigs.RepositoryBranchOrder(); repositoryBranchOrderItem.OrderBy = repository.repositoryBranchOrderList.Count + 1; repositoryBranchOrderItem.BranchGuid = branchGuid; repository.repositoryBranchOrderList.Add(repositoryBranchOrderItem); } } } else if (rdBranchAppliesToClearRepositoryBranches.Checked) { foreach (GitConfigs.Project project in settingsXml.ProjectList) { foreach (GitConfigs.Repository repository in project.RepositoryList) { GitConfigs.RepositoryBranchOrder repositoryBranchOrderItem = repository.repositoryBranchOrderList.Find(x => x.BranchGuid == branchGuid); if (repositoryBranchOrderItem != null) { foreach (GitConfigs.RepositoryBranchOrder repositoryBranchOrderItemUpdate in repository.repositoryBranchOrderList) { repository.repositoryBranchOrderList.Remove(repositoryBranchOrderItem); if (repositoryBranchOrderItemUpdate.OrderBy >= repositoryBranchOrderItem.OrderBy) { repositoryBranchOrderItemUpdate.OrderBy = -1; } } } } } } saveSettings(); btnBranchClear_Click(null, null); dgvBranches.DataSource = settingsXml.BranchList; }
private void btnViewBashFile_Click(object sender, EventArgs e) { GitConfigs.Project project = settingsXml.ProjectList.Find(x => x.EntityGuid == dgvProjects.SelectedRows[0].Cells["ProjectGuid"].Value.ToString()); openFileInNotepad(settingOutputFolder + project.OutputFileName); }