private void GenerateSummaryRows(ref DataTable table) { Department dept = new Department(); JobTypeDepartment jobtypeDepartment = new JobTypeDepartment(); JobTracker jobtracker = new JobTracker(); //joboverviewDepartment = dept.GetJobOverviewDepartment(); distincProjectList = jobtracker.GetDistinctProjectList(Convert.ToDateTime(txtBoxStartDate.Text + " 00:00:00"), Convert.ToDateTime(txtBoxEndDate.Text + " 23:59:59"), txtBoxJobId.Text.Trim()); joboverviewRow = new List<List<List<JobTracker>>>(); for (int y = 0; y < distincProjectList.Count;y++ ) { joboverviewRow.Add(new List<List<JobTracker>>()); DataRow row = table.NewRow(); row["HW No"] = distincProjectList[y].HWNo == null ? "" : distincProjectList[y].HWNo.Trim(); row["SW No"] = distincProjectList[y].SWNo == null ? "" : distincProjectList[y].SWNo.Trim(); row["Customer"] = distincProjectList[y].Customer == null ? "" : distincProjectList[y].Customer.Trim(); row["Description"] = distincProjectList[y].Description == null ? "" : distincProjectList[y].Description.Trim(); for (int x = 0; x < joboverviewDepartment.Count; x++) { List<JobTracker> jtlist = new List<JobTracker>(); for (int i = 0; i < joboverviewJobType[x].Count; i++) { JobTracker l = jobtracker.GetJobTrackerJobOverview(joboverviewJobType[x][i].Id, distincProjectList[y].SWNo, distincProjectList[y].HWNo, Convert.ToDateTime(txtBoxStartDate.Text + " 00:00:00"), Convert.ToDateTime(txtBoxEndDate.Text + " 23:59:59"), joboverviewDepartment[x].Id); jtlist.Add(l); } joboverviewRow[y].Add(jtlist); JobTracker j = new JobTracker(); string curstatus = ""; int curindex = -1; for (int i = 0; i < jtlist.Count; i++) { if (jtlist[i] == null) continue; else if (jtlist[i].JobStatus.IndexOf("On Hold") > -1) { curstatus = "On Hold"; curindex = i; break; } else if (jtlist[i].JobStatus.IndexOf("In Progress") > -1) { if (curstatus != "In Progress") { curstatus = "In Progress"; curindex = i; } } else if (jtlist[i].JobStatus.IndexOf("Completed") > -1 && curindex < 0) { if (curstatus == "") { curstatus = "Completed"; curindex = i; } } } if (curindex != -1) { j = jtlist[curindex]; } //JobTracker j = jobtracker.GetJobTrackerJobOverview(p.SWNo, p.HWNo, Convert.ToDateTime(txtBoxStartDate.Text + " 00:00:00"), Convert.ToDateTime(txtBoxEndDate.Text + " 23:59:59"), d.Id); if (j == null) { row[joboverviewDepartment[x].Acronym + "" + joboverviewDepartment[x].Id] = ""; } else { row[joboverviewDepartment[x].Acronym + "" + joboverviewDepartment[x].Id] = joboverviewDepartment[x].Id + "|" + j.JobStatus + " " + Convert.ToDateTime(j.EndTime).ToString("dd-MMM-yyyy") + "|" + distincProjectList[y].HWNo + "|" + distincProjectList[y].SWNo; } } table.Rows.Add(row); } }