Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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;
                }
            }
        }
Exemple #6
0
 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();
     }
 }
Exemple #7
0
        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;
        }
Exemple #8
0
 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);
 }