private void simpleButtonThemMoi_Click(object sender, EventArgs e) { // Không thêm if (!_isAddButton) { _Diable_Control(isAdding: false); return; } // Thêm // Neu co phan lop if (!checkEditChuaPhanLop.Checked) { string maNamHocHT = _quyDinhBUS.LayMaNamHoc_HienTai(); string maNamHoc = CboUtil.GetValueItem(comboBoxEditNamHoc); string tenNamHT = _namHocBUS.LayTenNamHoc_MaNamHoc(maNamHocHT); if (maNamHoc != maNamHocHT) { if (MsgboxUtil.YesNo("Chương trình chỉ được phép tiếp nhận học sinh trong năm " + tenNamHT + "\nĐể thực hiện chức năng này, bạn có muốn di chuyển đến năm " + tenNamHT + " hay không?") == DialogResult.Yes) { string maKhoiHT = CboUtil.GetValueItem(comboBoxEditKhoi); CboUtil.SelectedItem(comboBoxEditNamHoc, maNamHocHT); CboUtil.SelectedItem(comboBoxEditKhoi, maKhoiHT); MsgboxUtil.Info("Đã chuyển đến năm " + tenNamHT + ", bạn hãy chọn lớp để thực hiện tiếp nhận hồ sơ mới!"); } return; } string maLop = (CboUtil.GetValueItem(comboBoxEditLop)); int siSoCanTren = _quyDinhBUS.LaySiSo_CanTren(); if (_phanLopBUS.Dem_SiSo_Lop(maLop) >= siSoCanTren) { MsgboxUtil.Error("Lớp " + CboUtil.GetDisplayItem(comboBoxEditLop) + " đã đủ học sinh theo quy định " + " (" + siSoCanTren + " học sinh / 1 lớp)!"); return; } spinEditSTTSoDiem.Value = _phanLopBUS.LaySTT_TiepTheo(maLop); } _Diable_Control(isAdding: true); _Reset_Control(); }
private void simpleButtonChuyenLop_Click(object sender, EventArgs e) { if (!_KiemTra_LopMoi_DaChon()) { return; } var dsHocSinhChon = new Dictionary <string, string>(); for (int i = 0; i < gridViewDSHocSinh.RowCount; i++) { if (Convert.ToBoolean(gridViewDSHocSinh.GetRowCellValue(i, "Check"))) { dsHocSinhChon.Add(gridViewDSHocSinh.GetRowCellValue(i, "MaHocSinh").ToString(), gridViewDSHocSinh.GetRowCellValue(i, "TenHocSinh").ToString()); } } if (dsHocSinhChon.Count == 0) { MsgboxUtil.Error("Bạn chưa chọn học sinh để chuyển!"); return; } int siSoToiDa = _quyDinhBUS.LaySiSo_CanTren(); // Chuyển cùng khối, chuyển và xóa hồ sơ cũ int siSoLopMoi; if (radioButtonChuyenLopCungKhoi.Checked) { string maLop = CboUtil.GetValueItem(comboBoxEditLop), tenLop = CboUtil.GetDisplayItem(comboBoxEditLop), maLopMoi = CboUtil.GetValueItem(comboBoxEditLopMoi), tenLopMoi = CboUtil.GetDisplayItem(comboBoxEditLopMoi); siSoLopMoi = _phanLopBUS.Dem_SiSo_Lop(maLopMoi); if (siSoLopMoi >= siSoToiDa) { MsgboxUtil.Error("Không thể thực hiện vì lớp " + tenLopMoi + " (" + siSoLopMoi + " hs) đã đủ sỉ số học sinh quy định (" + siSoToiDa + " hs/Lớp)!"); return; } var chuyenLopDTO = new ChuyenLopDTO(); chuyenLopDTO.TuLop = maLop; chuyenLopDTO.DenLop = maLopMoi; chuyenLopDTO.NgayChuyen = DateTime.Now; chuyenLopDTO.LyDoChuyen = textEditLyDoChuyen.Text.Replace("'", "''"); chuyenLopDTO.GiuLaiBangDiem = checkEditChuyenBangDiem.Checked; if (_chuyenLopBUS.ChuyenLop_HocSinh_Lop(dsHocSinhChon, chuyenLopDTO)) { MsgboxUtil.Success("Đã chuyển toàn bộ hồ sơ học sinh từ lớp " + tenLop + " sang lớp " + tenLopMoi + " thành công!"); } else { MsgboxUtil.Info("Có lỗi trong quá trình chuyển!"); } } else // phân lớp { string maLopMoi = CboUtil.GetValueItem(comboBoxEditLopMoi), tenLopMoi = CboUtil.GetDisplayItem(comboBoxEditLopMoi), tenNamHocMoi = CboUtil.GetDisplayItem(comboBoxEditNamHocMoi), tenKhoiMoi = CboUtil.GetDisplayItem(comboBoxEditKhoiMoi); siSoLopMoi = _phanLopBUS.Dem_SiSo_Lop(maLopMoi); int siSoDSChuyen = dsHocSinhChon.Count; if ((siSoDSChuyen + siSoLopMoi) >= siSoToiDa) { MsgboxUtil.Error("Không thể thực hiện vì sau khi chuyển học sinh đến lớp " + tenLopMoi + " (" + siSoLopMoi + " hs) sẽ vượt quá quy định (" + siSoToiDa + ")!"); return; } if (MsgboxUtil.YesNo( "Lưu ý: Các học sinh đã chọn nếu đã được phân lớp vào " + tenKhoiMoi + " trong năm học " + tenNamHocMoi + " sẽ được giữ nguyên hồ sơ.\nChương trình chỉ chuyển những học sinh chưa được phân lớp vào " + tenKhoiMoi + " năm này." + "\n\nBạn có muốn chuyển các học sinh đã chọn" + " sang lớp: " + tenLopMoi + " năm học: " + tenNamHocMoi + " hay không?") == DialogResult.No) { return; } List <PhanLopDTO> dsHsTonTai; if (_phanLopBUS.PhanLop_DSHocSinh_Lop(dsHocSinhChon, maLopMoi, out dsHsTonTai) && dsHsTonTai.Count == 0) { MsgboxUtil.Success("Đã phân lớp danh sách học sinh đến lớp mới: " + tenLopMoi + "."); } else { string dsHocsinhTonTai = ""; foreach (PhanLopDTO item in dsHsTonTai) { dsHocsinhTonTai = "\n" + item.STT + ". " + item.TenHocSinh + " (" + item.MaHocSinh + ") lớp: " + item.TenLop + dsHocsinhTonTai; } MsgboxUtil.Info("Các học sinh sau đã tồn tại trong năm " + tenNamHocMoi + ":" + dsHocsinhTonTai); } } // Cập nhật lại danh sách lớp mới comboBoxEditLopMoi_SelectedIndexChanged(sender, e); _LoadGridcontrolDSHocSinh(); _LoadGridcontrolDSHocSinhMoi(); // Cập nhật lại danh sách lớp cũ if (radioButtonPhanLopHoSo_ChuaPhanLop.Checked || radioButtonChuyenLopCungKhoi.Checked) { _LoadGridcontrolDSHocSinh(); } _HienThi_Button(); }