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); }
public SchoolEngine(int IDNamHoc, long _IDTuan, cBDM_PhongHoc arrPhongHoc, cBNS_GiaoVien arrGiaoVien, cBDM_Lop arrLop, SuKienTKB arrSuKien, SuKienKhacTKB mSk_lp, SuKienKhacTKB mSk_gv, HT_ThamSoXepLichInfo pThamSoTKB, int[] _arrNhomTiet) { intIDTuan = _IDTuan; sks = arrSuKien; lps = arrLop; gvs = arrGiaoVien; phs = arrPhongHoc; sk_lp = mSk_lp; sk_gv = mSk_gv; objThamSoTKB = pThamSoTKB; arrNhomTiet = _arrNhomTiet; if (arrNhomTiet.Length > 1) { if (arrNhomTiet[0] != arrNhomTiet[1]) { IsTietNhomKhacNhau = true; } } }