public clsTKB(int IDNamHoc, int HocKy, long _IDTuan, HT_ThamSoXepLichInfo pThamSoTKB) { intIDTuan = _IDTuan; // Lấy ra danh sách phòng học, lớp học, giao viên phục vụ cho việc xếp TKB lps = new cBDM_Lop(_IDTuan, pThamSoTKB); phs = new cBDM_PhongHoc(pThamSoTKB); gvs = new cBNS_GiaoVien(pThamSoTKB); objThamSoTKB = pThamSoTKB; oBSuKienTKB = new cBXL_SuKienTKB(); pSuKienTKBInfo = new XL_SuKienTKBInfo(); cBDM_MonHoc oBDM_MonHoc = new cBDM_MonHoc(); htbPhong = oBDM_MonHoc.GetPhongHoc_MonHoc(2); htbPhanCongPhong = new Hashtable(); string[] strTietNhom; // Lấy ra mảng tiết của các nhóm tiết strTietNhom = objThamSoTKB.SO_TIET_CAC_NHOM.Split(','); arrTietNhom = new int[strTietNhom.Length]; for (int i = 0; i < strTietNhom.Length; i++) { arrTietNhom[i] = int.Parse(strTietNhom[i]); if (arrTietNhom[i] > SoTietNhomMax) { SoTietNhomMax = arrTietNhom[i]; } } // Kiểm tra xem tuần đó đã chia sự kiện chưa // Nếu rồi thì lấy trực tiếp trong bảng sự kiện // Nếu chưa thì sẽ đọc sự kiện trong kế hoạch và chia sự kiện cho phù hợp if (oBSuKienTKB.CheckExist(_IDTuan) == true) { mUpdate = true; DocSuKien(_IDTuan); } else { mUpdate = false; DocKeHoachChiTiet(_IDTuan); } DataTable dtThucHanh = new cBXL_KeHoachThucHanhChiTiet().GetByIDXL_Tuan(_IDTuan); DocKeHoachLop(dtThucHanh); if (objThamSoTKB.SUDUNG_BAOBAN_TRONG_XEPLICH == 1) { DocKeHoachGiaoVien(dtThucHanh); } scE = new SchoolEngine(IDNamHoc, intIDTuan, phs, gvs, lps, sks, sk_lp, sk_gv, objThamSoTKB, arrTietNhom); }
private void DocSuKien(long IDTuan) { oBSuKienTKB = new cBXL_SuKienTKB(); DataTable dt = oBSuKienTKB.Get_TKB(IDTuan); sks = new SuKienTKB(); foreach (DataRow dr in dt.Rows) { if (long.Parse(dr["XL_SuKienTKBID"].ToString()) > 0) { XL_SuKienTKBInfo sk = new XL_SuKienTKBInfo(true); sk.XL_SuKienTKBID = long.Parse(dr["XL_SuKienTKBID"].ToString()); GanSuKien(sk, dr); } else { XL_SuKienTKBInfo sk = new XL_SuKienTKBInfo(true); GanSuKien(sk, dr); ChiaSuKien(sk); } } FillData(); }