コード例 #1
0
        private async void CreateSubTask(SubTaskSuite SubTaskSuite, SubTaskOption SubTaskOption)
        {
            if ("Case".Equals(SubTaskSuite.IssueType, StringComparison.InvariantCultureIgnoreCase) &&
                !String.IsNullOrEmpty(SubTaskSuite.SFID))
            {
                if (this.chkBypassStatusValidation.Checked == false)
                {
                    if ("Resolved".Equals(SubTaskSuite.Status, StringComparison.InvariantCultureIgnoreCase) ||
                        "Closed".Equals(SubTaskSuite.Status, StringComparison.InvariantCultureIgnoreCase))
                    {
                        return;
                    }
                }

                if (SubTaskOption.ReviewAndRecreateByQA == true &&
                    String.IsNullOrEmpty(SubTaskSuite.ReviewAndRecreateByQA))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Review and Recreate(QA)", SubTaskTemplates["Review and Recreate(QA)"]);
                }

                if (SubTaskOption.ReviewAndRecreateByDev == true &&
                    String.IsNullOrEmpty(SubTaskSuite.ReviewAndRecreateByDev))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Review and Recreate(Dev)", SubTaskTemplates["Review and Recreate(Dev)"]);
                }

                if (SubTaskOption.ResearchRootCauseByDev == true &&
                    String.IsNullOrEmpty(SubTaskSuite.ResearchRootCauseByDev))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Research Root Cause", SubTaskTemplates["Research Root Cause"]);
                }
            }

            if ("Bug".Equals(SubTaskSuite.IssueType, StringComparison.InvariantCultureIgnoreCase))
            {
                if (this.chkBypassStatusValidation.Checked == false)
                {
                    if ("Closed".Equals(SubTaskSuite.Status, StringComparison.InvariantCultureIgnoreCase))
                    {
                        return;
                    }
                }

                if (SubTaskOption.CodeFixByDev == true &&
                    String.IsNullOrEmpty(SubTaskSuite.CodeFixByDev))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Code Fix(Dev)", SubTaskTemplates["Code Fix(Dev)"]);
                }

                if (SubTaskOption.WriteTestCaseByQA == true &&
                    String.IsNullOrEmpty(SubTaskSuite.WriteTestCaseByQA) &&
                    !String.IsNullOrEmpty(SubTaskSuite.SFID))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Write Test Case(QA)", SubTaskTemplates["Write Test Case(QA)"]);
                }

                if (SubTaskOption.ExecuteTestCaseByQA == true &&
                    String.IsNullOrEmpty(SubTaskSuite.ExecuteTestCaseByQA))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Execute Test Case(QA)", SubTaskTemplates["Execute Test Case(QA)"]);
                }

                if (SubTaskOption.WriteReleaseNotesByDev == true &&
                    String.IsNullOrEmpty(SubTaskSuite.WriteReleaseNotesByDev) &&
                    !String.IsNullOrEmpty(SubTaskSuite.SFID))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Write Release Notes(Dev)", SubTaskTemplates["Write Release Notes(Dev)"]);
                }

                if (SubTaskOption.ReviewReleaseNotesByQA == true &&
                    String.IsNullOrEmpty(SubTaskSuite.ReviewReleaseNotesByQA) &&
                    !String.IsNullOrEmpty(SubTaskSuite.SFID))
                {
                    createSubTask(SubTaskSuite.JiraKey, "Review Release Notes(QA)", SubTaskTemplates["Review Release Notes(QA)"]);
                }
            }
        }
コード例 #2
0
        private async void btnCreateSubTask_Click(object sender, EventArgs e)
        {
            this.btnCreateSubTask.Enabled = false;

            // Step 1, Collect the sub task option
            SubTaskOption SubTaskOption = new SubTaskOption();

            SubTaskOption.ReviewAndRecreateByQA  = this.chkReviewAndRecreateQA.Checked;
            SubTaskOption.ReviewAndRecreateByDev = this.chkReviewAndRecreateDev.Checked;
            SubTaskOption.ResearchRootCauseByDev = this.chkResearchRootCause.Checked;

            SubTaskOption.CodeFixByDev           = this.chkCodeFix.Checked;
            SubTaskOption.WriteTestCaseByQA      = this.chkWriteTestCase.Checked;
            SubTaskOption.ExecuteTestCaseByQA    = this.chkExecuteTestCase.Checked;
            SubTaskOption.WriteReleaseNotesByDev = this.chkWriteReleaseNotes.Checked;
            SubTaskOption.ReviewReleaseNotesByQA = this.chkReviewReleaseNotes.Checked;

            if (!SubTaskOption.ReviewAndRecreateByQA &&
                !SubTaskOption.ReviewAndRecreateByDev &&
                !SubTaskOption.ResearchRootCauseByDev &&
                !SubTaskOption.CodeFixByDev &&
                !SubTaskOption.WriteTestCaseByQA &&
                !SubTaskOption.ExecuteTestCaseByQA &&
                !SubTaskOption.WriteReleaseNotesByDev &&
                !SubTaskOption.ReviewReleaseNotesByQA)
            {
                MessageBox.Show("Please select at least one sub task option!");
                this.btnCreateSubTask.Enabled = true;
                return;
            }

            DataTable dataTable = this.dgvCaseList.DataSource as DataTable;

            if (dataTable != null)
            {
                /*
                 * bool Checked = false;
                 * string SFID = "";
                 * string JiraKey = "";
                 * string IssueType = "";
                 * string Status = "";
                 * string Assignee = "";
                 * string AssigneeEmail = "";
                 * string AssigneeQA = "";
                 * string AssigneeQAEmail = "";
                 * string ReviewAndRecreateByQA = "";
                 * string Assignee1 = "";
                 * string Status1 = "";
                 * string ReviewAndRecreateByDev = "";
                 * string Assignee2 = "";
                 * string Status2 = "";
                 * string ResearchRootCauseByDev = "";
                 * string Assignee3 = "";
                 * string Status3 = "";
                 * string CodeFixByDev = "";
                 * string Assignee4 = "";
                 * string Status4 = "";
                 * string WriteTestCaseByQA = "";
                 * string Assignee5 = "";
                 * string Status5 = "";
                 * string ExecuteTestCaseByQA = "";
                 * string Assignee6 = "";
                 * string Status6 = "";
                 * string WriteReleaseNotesByDev = "";
                 * string Assignee7 = "";
                 * string Status7 = "";
                 * string ReviewReleaseNotesByQA = "";
                 * string Assignee8 = "";
                 * string Status8 = "";
                 * */

                bool checkedFlag = false;
                int  rowCount    = dataTable.Rows.Count;

                for (int i = 0; i < rowCount; i++)
                {
                    DataRow      row          = dataTable.Rows[i];
                    SubTaskSuite SubTaskSuite = new SubTaskSuite();
                    // row["ID"] as int;
                    SubTaskSuite.SFID                   = row["SFID"] as string;
                    SubTaskSuite.JiraKey                = row["JiraKey"] as string;
                    SubTaskSuite.IssueType              = row["IssueType"] as string;
                    SubTaskSuite.Status                 = row["Status"] as string;
                    SubTaskSuite.Assignee               = row["Assignee"] as string;
                    SubTaskSuite.AssigneeEmail          = row["AssigneeEmail"] as string;
                    SubTaskSuite.AssigneeQA             = row["AssigneeQA"] as string;
                    SubTaskSuite.AssigneeQAEmail        = row["AssigneeQAEmail"] as string;
                    SubTaskSuite.ReviewAndRecreateByQA  = row["ReviewAndRecreateByQA"] as string;
                    SubTaskSuite.Assignee1              = row["Assignee1"] as string;
                    SubTaskSuite.Status1                = row["Status1"] as string;
                    SubTaskSuite.ReviewAndRecreateByDev = row["ReviewAndRecreateByDev"] as string;
                    SubTaskSuite.Assignee2              = row["Assignee2"] as string;
                    SubTaskSuite.Status2                = row["Status2"] as string;
                    SubTaskSuite.ResearchRootCauseByDev = row["ResearchRootCauseByDev"] as string;
                    SubTaskSuite.Assignee3              = row["Assignee3"] as string;
                    SubTaskSuite.Status3                = row["Status2"] as string;
                    SubTaskSuite.CodeFixByDev           = row["CodeFixByDev"] as string;
                    SubTaskSuite.Assignee4              = row["Assignee4"] as string;
                    SubTaskSuite.Status4                = row["Status4"] as string;
                    SubTaskSuite.WriteTestCaseByQA      = row["WriteTestCaseByQA"] as string;
                    SubTaskSuite.Assignee5              = row["Assignee5"] as string;
                    SubTaskSuite.Status5                = row["Status5"] as string;
                    SubTaskSuite.ExecuteTestCaseByQA    = row["ExecuteTestCaseByQA"] as string;
                    SubTaskSuite.Assignee6              = row["Assignee6"] as string;
                    SubTaskSuite.Status6                = row["Status6"] as string;
                    SubTaskSuite.WriteReleaseNotesByDev = row["WriteReleaseNotesByDev"] as string;
                    SubTaskSuite.Assignee7              = row["Assignee7"] as string;
                    SubTaskSuite.Status7                = row["Status7"] as string;
                    SubTaskSuite.ReviewReleaseNotesByQA = row["ReviewReleaseNotesByQA"] as string;
                    SubTaskSuite.Assignee8              = row["Assignee8"] as string;
                    SubTaskSuite.Status8                = row["Status8"] as string;
                    checkedFlag = bool.Parse(row["Checked"].ToString());

                    if (checkedFlag)
                    {
                        CreateSubTask(SubTaskSuite, SubTaskOption);
                    }
                }
            }

            this.btnCreateSubTask.Enabled = true;
        }