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)"]); } } }
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; }