private cNhomCa XacDinhNhomCa(int SchID, IEnumerable <cNhomCa> List_NhomCa) { cNhomCa kq = (from cNhomCa item in List_NhomCa where item.IDDescription.ID == SchID select item).SingleOrDefault(); if (kq == null) { kq = GlobalVariables.NhomCaMacDinh; } return(kq); }
internal void LayTatCaLichTrinhVaCa(ref List <cNhomCa> DSNhomCa) { //1. lập ds các ca đang enable trước, sau đó duyệt trong bảng phân bố để lọc các ca theo ID Lịch trình List <cCa> DSTatCaCa; LapDSTatCaCa_ChamCong(out DSTatCaCa); DataTable tableNhomCa = SqlDataAccessHelper.ExecSPQuery(SPName6.Schedule_DocLichTrinhV6.ToString()); DataTable tablePhanBoCaTheoNhom = SqlDataAccessHelper.ExecSPQuery(SPName6.ShiftSch_DocDSCaV6.ToString()); DSNhomCa.Clear(); //2. lập danh sách các lịch trình, sau đó mới duyệt bảng phân bố ca để đưa ds các ca vào foreach (DataRow dataRow in tableNhomCa.Rows) { cNhomCa nhomCa = new cNhomCa { IDDescription = new ID_Description { ID = (int)dataRow["SchID"], Description = dataRow["SchName"].ToString() }, DSCa = new List <cCa>() }; DSNhomCa.Add(nhomCa); } // 3. dựa vào bảng phân bố xác định danh sách các ca foreach (cNhomCa nhomCa in DSNhomCa) { // xác định các record của 1 lịch trình DataRow[] dataRows = tablePhanBoCaTheoNhom.Select("SchID=" + nhomCa.IDDescription.ID); // xác định ID của ca để add vào danh sách foreach (DataRow row in dataRows) { int shiftID = (int)row["T1"]; cCa ca = (from cCa item in DSTatCaCa where item.ID == shiftID select item).SingleOrDefault(); if (ca != null) { nhomCa.DSCa.Add(ca); } } } }