private async void btnScanCrossProjects_Click(object sender, EventArgs e) { this.btnScanCrossProjects.Enabled = false; DateTime startDate = this.dtpStartDate.Value; DateTime endDate = this.dtpEndDate.Value; if (endDate < startDate) { MessageBox.Show("End Date must be greater than Start Date."); return; } List <string> projects = new List <string>(); if (this.chkProjectAATHETA.Checked) { projects.Add("AATHETA"); } if (this.chkProjectCAGAMMA.Checked) { projects.Add("CAGAMMA"); } if (this.chkProjectENGSUPP.Checked) { projects.Add("ENGSUPP"); } if (this.chkProjectPMA.Checked) { projects.Add("PMA"); } if (projects.Count == 0) { MessageBox.Show("Please select one project at least."); return; } var GetCaseListFromCrossProjects = JiraProxy.GetCaseListFromCrossProjects(startDate, endDate, projects); var issueListTmp = await GetCaseListFromCrossProjects; List <string> caseIdList = new List <string>(); foreach (var issueInfo in issueListTmp) { string caseIds = issueInfo.fields.customfield_10600; String[] caseIDArray = caseIds.Split(','); Regex reg = new Regex(@"\d{2}ACC-\d{5}"); foreach (string caseId in caseIDArray) { if (reg.IsMatch(caseId)) { if (!caseIdList.Contains(caseId.Trim())) { caseIdList.Add(caseId.Trim()); } } } } string caseIdString = ""; bool isFirstOne = true; foreach (string caseId in caseIdList) { if (isFirstOne) { isFirstOne = false; caseIdString = caseId; } else { caseIdString += "," + caseId; } } this.txtCaseIdList.Text = caseIdString; this.btnScanCrossProjects.Enabled = true; }