private void btnReload_Click(object sender, EventArgs e) { if (k == 1) { try { if (t == 1) { XepThoiKhoaBieuEntities et = new XepThoiKhoaBieuEntities(); MonHoc mh = new MonHoc(); mh.MaMH = Int32.Parse(txtMaMH.Text); mh.TenMH = txtTenMH.Text; et.Entry(mh).State = EntityState.Added; et.SaveChanges(); } else { XepThoiKhoaBieuEntities et = new XepThoiKhoaBieuEntities(); MonHoc mh = new MonHoc(); mh.MaMH = Int32.Parse(txtMaMH.Text); mh.TenMH = txtTenMH.Text; et.Entry(mh).State = EntityState.Modified; et.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Lỗi " + ex.Message); } QLMonHoc_Load(sender, e); } else { QLMonHoc_Load(sender, e); } }
public void XThoiKhoaBieu() { try { XepThoiKhoaBieuEntities xl = new XepThoiKhoaBieuEntities(); var giaovien = from d in xl.GiaoViens select d; var monhoc = from d in xl.MonHocs select d; var lop = from d in xl.Lops select d; var phong = from d in xl.PhongHocs select d; foreach (var gt in giaovien) { GiaoVien gv = new GiaoVien(); gv.MaGV = gt.MaGV; gv.TenGV = gt.TenGV; gv.MaBM = gt.MaBM; givi.Add(gv); g++; } foreach (var gt in monhoc) { MonHoc MH = new MonHoc(); MH.MaMH = gt.MaMH; MH.TenMH = gt.TenMH; MH.MaBM = gt.MaBM; moho.Add(MH); m++; } foreach (var gt in lop) { Lop LOP = new Lop(); LOP.MaLop = gt.MaLop; LOP.TenLop = gt.TenLop; loho.Add(LOP); l++; } foreach (var gt in phong) { PhongHoc PH = new PhongHoc(); PH.MaPH = gt.MaPH; PH.TenPH = gt.TenPH; phho.Add(PH); p++; } int dem; dem = 1; //Giáo viên nào dạy môn nào for (int i = 0; i < g; i++) { for (int j = 0; j < m; j++) { int cv; if (givi[i].MaBM == moho[j].MaBM) { GV_MH gvmh = new GV_MH(); gvmh.stt = dem; gvmh.MaGV = givi[i].MaGV; gvmh.MaMH = moho[j].MaMH; cv = SoSanh(Int32.Parse(givi[i].MaGV.ToString())); switch (cv) { case 0: { gvmh.Sotiet = 18; break; } case 1: { gvmh.Sotiet = 2; break; } case 2: { gvmh.Sotiet = 4; break; } case 3: { gvmh.Sotiet = 15; break; } case 4: { gvmh.Sotiet = 17; break; } case 5: { gvmh.Sotiet = 9; break; } case 6: { gvmh.Sotiet = 0; break; } } GVMHTable.Add(gvmh); dem++; } } } int ph = 0; //Lớp nào học phòng nào dem = 1; int check = 0; for (int i = 0; i < l; i++) { if (Compare(loho[i].TenLop.ToString(), "12") == true || (Compare(loho[i].TenLop.ToString(), "11") == true && loho[i].MaBan == 1)) { Lop_Phong lopphong = new Lop_Phong(); lopphong.stt = dem; lopphong.MaLop = loho[i].MaLop; lopphong.MaPH = phho[ph].MaPH; lopphong.Buoi = "Sáng"; dem++; LPTable.Add(lopphong); check++; } else { Lop_Phong lopphong = new Lop_Phong(); lopphong.stt = dem; lopphong.MaLop = loho[i].MaLop; lopphong.MaPH = phho[ph].MaPH; lopphong.Buoi = "Chiều"; dem++; LPTable.Add(lopphong); check++; } if (check >= 2) { ph++; check = 0; } } //Lớp nào học môn nào dem = 1; for (int i = 0; i < l; i++) { for (int j = 0; j < m; j++) { Lop_MH lopmh = new Lop_MH(); lopmh.stt = dem; lopmh.MaLop = loho[i].MaLop; lopmh.MaMH = moho[j].MaMH; if (loho[i].MaLop <= 11) //Lớp 10 { if (lopmh.MaMH == 1) //toán { lopmh.sotiet = 5; } else if (lopmh.MaMH == 5)//văn { lopmh.sotiet = 4; } else if (lopmh.MaMH == 3 || lopmh.MaMH == 6)//hóa, anh { lopmh.sotiet = 3; } else if (lopmh.MaMH == 2 || lopmh.MaMH == 4 || lopmh.MaMH == 8 || lopmh.MaMH == 11 || lopmh.MaMH == 12 || lopmh.MaMH == 13)//lý, địa, sinh, tin,TD,QP { lopmh.sotiet = 2; } else if (lopmh.MaMH != 14) //các môn còn lại khác tiếng pháp { lopmh.sotiet = 1; } } else if (loho[i].MaLop > 11 && loho[i].MaLop <= 21)//lớp 11 { if (lopmh.MaMH == 1) { lopmh.sotiet = 5; } else if (lopmh.MaMH == 5 || lopmh.MaMH == 6)//Anh, Văn { lopmh.sotiet = 4; } else if (lopmh.MaMH == 2 || lopmh.MaMH == 3)//Lý, Hóa { lopmh.sotiet = 3; } else if (lopmh.MaMH == 4 || lopmh.MaMH == 12 || lopmh.MaMH == 13)// Sinh, TD,QP { lopmh.sotiet = 2; } else if (lopmh.MaMH != 14)//các môn còn lại khác tiếng pháp { lopmh.sotiet = 1; } } else //lớp 12 { if (lopmh.MaMH == 1) //Toán { lopmh.sotiet = 4; } else if (lopmh.MaMH == 6)//Anh { lopmh.sotiet = 3; } else if (lopmh.MaMH == 2 || lopmh.MaMH == 3 || lopmh.MaMH == 4 || lopmh.MaMH == 5)//lý, hóa, sinh, văn { lopmh.sotiet = 3; } else if (lopmh.MaMH == 7 || lopmh.MaMH == 11 || lopmh.MaMH == 12 || lopmh.MaMH == 13)//sử, tin,TD,QP { lopmh.sotiet = 2; } else if (lopmh.MaMH != 14)//các môn còn lại khác tiếng pháp { lopmh.sotiet = 1; } } Lop_Monhoc.Add(lopmh); dem++; } } //Giáo viên nào dạy lớp nào dem = 1; Random ra = new Random(); for (int i = 0; i < m; i++) { for (int j = 0; j < l; j++) { GV_Lop gvl = new GV_Lop(); gvl.stt = dem; gvl.MaLop = loho[j].MaLop; gvl.MaMh = moho[i].MaMH; chon = new List <Chon>(); int nchon = 0; for (int l = 0; l < GVMHTable.Count - 1; l++) { if (GVMHTable[l].MaMH == gvl.MaMh) { Chon ch = new Chon(); ch.stt = nchon; ch.MAGV = GVMHTable[l].MaGV; chon.Add(ch); nchon++; } } int a; if (nchon > 1) { a = ra.Next(nchon); } else { a = 0; } int magv = chon[a].MAGV; gvl.MaGV = magv; for (int l = 0; l < LPTable.Count - 1; l++) { if (LPTable[l].MaLop == loho[j].MaLop) { gvl.MaPH = LPTable[l].MaPH; break; } } GiaoVien_LopHoc.Add(gvl); dem++; } } int tiet = 0; dem = 1; Random rd = new Random(); Random rd1 = new Random(); for (int it = 0; it < l; it++) { List <int> chonMh = new List <int>(); int sotiet = 0; for (int i = 0; i < moho.Count - 1; i++) ////bỏ thể dục + quốc phòng { sotiet = 0; if (moho[i].MaMH != 12 && moho[i].MaMH != 13) { for (int j = 0; j < Lop_Monhoc.Count - 1; j++) { if (Lop_Monhoc[j].MaMH == moho[i].MaMH && Lop_Monhoc[j].MaLop == loho[it].MaLop) { sotiet = Lop_Monhoc[j].sotiet; break; } } for (int j = 0; j < sotiet; j++) //Số lần xuất hiện môn học trong List chonMh { chonMh.Add(Lop_Monhoc[i].MaMH); } } } if (Compare(loho[it].TenLop.ToString(), "12") == true || (Compare(loho[it].TenLop.ToString(), "11") == true && loho[it].MaBan == 1)) { for (int th = 0; th < 6; th++) { for (int i = 1; i <= 5; i++)//lớp buổi sáng { Lop_Tiet_MH lgvmh = new Lop_Tiet_MH(); tiet = i + 10 * th; if (tiet == 1) { } else if (tiet == 29 || tiet == 30 || tiet == 25) { } else { int vt; if (chonMh.Count > 1) { vt = rd.Next(chonMh.Count - 1); } else { vt = 0; } lgvmh.stt = dem; lgvmh.MaLop = loho[it].MaLop; lgvmh.MaMH = chonMh[vt]; lgvmh.MaTiet = tiet; if (chonMh.Count > 1) { chonMh.RemoveAt(vt); } Lop_T_MH.Add(lgvmh); dem++; } } } } else { for (int th = 0; th < 6; th++) { for (int i = 6; i <= 10; i++)//lớp buổi chieu { Lop_Tiet_MH lgvmh = new Lop_Tiet_MH(); tiet = i + 10 * th; if (tiet == 10) { } else if (tiet == 59 || tiet == 60 || tiet == 50) { } else { int vt; if (chonMh.Count > 1) { vt = rd1.Next(chonMh.Count - 1); } else { vt = 0; } lgvmh.stt = dem; lgvmh.MaLop = loho[it].MaLop; lgvmh.MaMH = chonMh[vt]; lgvmh.MaTiet = tiet; if (chonMh.Count > 1) { chonMh.RemoveAt(vt); } Lop_T_MH.Add(lgvmh); dem++; } } } } } } catch (Exception ex) { MessageBox.Show("Lỗi! " + ex.Message); } }
public XThoiKhoaBieu() { XepThoiKhoaBieuEntities xl = new XepThoiKhoaBieuEntities(); List <GiaoVien> givi = new List <GiaoVien>(); List <MonHoc> moho = new List <MonHoc>(); List <Lop> loho = new List <Lop>(); List <PhongHoc> phho = new List <PhongHoc>(); GVMHTable = new List <GV_MH>(); LPTable = new List <Lop_Phong>(); int g; int m; int l; int p; var giaovien = from d in xl.GiaoViens select d; var monhoc = from d in xl.MonHocs select d; var lop = from d in xl.Lops select d; var phong = from d in xl.PhongHocs select d; foreach (var gt in giaovien) { g = 0; GiaoVien gv = new GiaoVien(); gv.MaGV = gt.MaGV; gv.TenGV = gt.TenGV; gv.MaBM = gt.MaBM; givi.Add(gv); g++; } foreach (var gt in monhoc) { m = 0; MonHoc MH = new MonHoc(); MH.MaMH = gt.MaMH; MH.TenMH = gt.TenMH; MH.MaBM = gt.MaBM; moho.Add(MH); m++; } foreach (var gt in lop) { l = 0; Lop LOP = new Lop(); LOP.MaLop = gt.MaLop; LOP.TenLop = gt.TenLop; loho.Add(LOP); l++; } foreach (var gt in phong) { p = 0; PhongHoc PH = new PhongHoc(); PH.MaPH = gt.MaPH; PH.TenPH = gt.TenPH; phho.Add(PH); p++; } int dem; dem = 0; ////Giáo viên nào dạy môn nào //for(int i=0;i<g;i++) //{ // for(int j=0;j<m;j++) // { // if (givi[i].MaBM == moho[j].MaBM) // { // GVMHTable[dem].stt = dem; // GVMHTable[dem].MaGV = givi[i].MaGV; // GVMHTable[dem].MaMH = moho[j].MaMH; // dem++; // } // } //} //int ph = 0; ////Lớp nào học phòng nào //for (int i = 0; i < l; i++) //{ // if (Compare(loho[i].TenLop.ToString(),"12")==true // || (Compare(loho[i].TenLop.ToString(), "11") == true && loho[i].MaBan == 1)) // { // LPTable[dem].stt = dem; // LPTable[dem].MaLop = loho[i].MaLop; // LPTable[dem].MaPH = phho[ph++].MaPH; // LPTable[dem].Buoi = "Sáng"; // dem++; // } // else // { // LPTable[dem].stt = dem; // LPTable[dem].MaLop = loho[i].MaLop; // LPTable[dem].MaPH = phho[ph++].MaPH; // LPTable[dem].Buoi = "Chiều"; // dem++; // } //} ////Lớp nào học môn nào //dem = 0; //for (int i = 0; i < l; i++) //{ // for (int j = 0; j < m; j++) // { // Lop_Monhoc[dem].stt = dem; // Lop_Monhoc[dem].MaLop = loho[i].MaLop; // Lop_Monhoc[dem].MaMH = moho[i].MaMH; // dem++; // } //} }