public bool ChuyenLop_HocSinh_Lop(Dictionary <string, string> dsHocSinhChon, ChuyenLopDTO thongTinCL) { IList <bool> listSuccess = new List <bool>(); foreach (var item in dsHocSinhChon) { if (thongTinCL.GiuLaiBangDiem) { _bangDiemBUS.CapNhat_BangDiem_HocSinh_LopMoi(item.Key, thongTinCL.TuLop, thongTinCL.DenLop); } else { _bangDiemBUS.XoaBangDiem_HocSinh_Lop(item.Key, thongTinCL.TuLop); } if (!_phanLopBUS.KiemTraTonTai_HocSinh_TrongLop(item.Key, thongTinCL.DenLop)) { _phanLopBUS.ThayDoi_LopMoi_HocSinh(item.Key, thongTinCL.TuLop, thongTinCL.DenLop); } listSuccess.Add(_chuyenLopDAL.Luu_ThongTin_ChuyenLop(item.Key, thongTinCL)); } foreach (bool item in listSuccess) { if (!item) { return(false); } } return(true); }
public bool Luu_ThongTin_ChuyenLop(string maHocSinh, ChuyenLopDTO cl) { string sql = "set dateformat dmy\n"; sql += string.Format( "INSERT INTO CHUYENLOP (TuLop, DenLop , NgayChuyen, LyDoChuyen, ChuyenBangDiem, MaHocSinh) " + "VALUES ('{0}','{1}','{2}',N'{3}','{4}','{5}')", cl.TuLop, cl.DenLop, cl.NgayChuyen.ToString("dd-MM-yyy HH:mm:ss"), cl.LyDoChuyen, cl.GiuLaiBangDiem, maHocSinh); return(ExecuteQuery(sql) > 0); }
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(); }