예제 #1
0
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            DialogResult result = MsgboxUtil.YesNo("Tìm kiếm các máy chủ trong mạng LAN có thể mất nhiều thời gian."
                                                   + "\nBạn có thể gõ Tên máy chủ hoặc IP của máy chủ trong mạng LAN."
                                                   + "\nBạn có chắc chắn muốn tìm các máy chủ hoạt động trong mạng LAN?");

            if (result == DialogResult.Yes)
            {
                Cursor = Cursors.WaitCursor;
                //tìm tất cả các server sql có trong mạng
                DataTable mdtServers = SmoApplication.EnumAvailableSqlServers(false);
                DataRow   dr;
                foreach (DataRow item in mdtServers.Rows)
                {
                    if (!CheckExistsServer(_dtServers, item))
                    {
                        dr         = _dtServers.NewRow();
                        dr["Name"] = item["Name"];
                        _dtServers.Rows.Add(dr);
                    }
                }
                cmbServerName.DataSource    = _dtServers;
                cmbServerName.DisplayMember = "Name";
                cmbServerName.ValueMember   = "Name";
                Cursor = Cursors.Default;
            }
        }
예제 #2
0
 private void XoaTKBDaXep(object sender, EventArgs e)
 {
     try
     {
         if (MsgboxUtil.YesNo("Bạn chắc chắn muốn xóa buổi học này?") == DialogResult.Yes)
         {
             string name = ((Label)sender).Parent.Name;
             int    mode = int.Parse(name.Substring(13, 1));
             if (mode == 2)
             {
                 pnChinh.Controls.Remove(((Label)sender).Parent);
                 string maPC   = name.Substring(14, 7);
                 int    maBuoi = int.Parse(name.Substring(21));
                 TKBs.Remove(TKBs.Single(i => i.BuoiHoc == maBuoi && i.MaPC == maPC));
                 ThoiKhoaBieuBUS.Xoa(maPC, maBuoi);
                 StaticClass.LuuThayDoi();
                 thongTinhXeopTKB.Clear();
                 thongTinhXeopTKB = ThoiKhoaBieuBUS.ThongTinXepTKB(maPhong, ngayDauTuan);
                 TKBs.Clear();
                 TKBs = ThoiKhoaBieuBUS.ThongTinTKB(ngayDauTuan, maPhong);
                 ThoiKhoaBieu_Load(null, null);
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #3
0
        private void simpleButtonXoaGiaovien_Click(object sender, EventArgs e)
        {
            if (_isDeleteButton)
            {
                if (_giaoVienBUS.KiemTonTai_HoSo_GiaoVien(textEditMaGiaoVien.Text))
                {
                    if (MsgboxUtil.YesNo("Bạn có muốn xóa hồ sơ giáo viên: "
                                         + textEditTenGiaoVien.Text + " hay không?")
                        == DialogResult.No)
                    {
                        return;
                    }

                    _giaoVienBUS.Xoa_HoSo_GiaoVien(textEditMaGiaoVien.Text);
                    MsgboxUtil.Success("Đã xóa hồ sơ giáo viên: "
                                       + textEditTenGiaoVien.Text + " thành công!");
                    _Load_GridView();
                }
            }
            else // reset button
            {
                _Reset_Control();
                return;
            }
        }
예제 #4
0
        private void simpleButtonXoa_Click(object sender, EventArgs e)
        {
            string maNamHoc  = CboUtil.GetValueItem(comboBoxEdit1);
            string tenNamHoc = CboUtil.GetDisplayItem(comboBoxEdit1);

            if (_isDeleteButton)
            {
                if (_namHocBUS.KiemTraTonTai_NamHoc(maNamHoc))
                {
                    // xóa
                    if (MsgboxUtil.YesNo("Bạn có chắc chắn muốn xóa năm học"
                                         + tenNamHoc +
                                         " và tất cả hồ sơ: Lớp học, phân lớp, bảng điểm,... liên quan đến năm học này?")
                        == DialogResult.Yes)
                    {
                        _namHocBUS.Xoa_NamHoc(maNamHoc);
                        MsgboxUtil.Success("Đã xóa năm học " + tenNamHoc + " thành công!");
                        _Load_Lai_GridView();
                    }
                }
                else
                {
                    MsgboxUtil.Error("Không tồn tại năm học " + tenNamHoc);
                }
            }
            else // Không thêm
            {
                _Disable_Control(editing: false);
            }
        }
 private void simpleButtonXoa_Click(object sender, EventArgs e)
 {
     if (_isDeleteButton)
     {
         if (!_nguoiDungBUS.KiemTraTonTai_NguoiDung(CboUtil.GetValueItem(comboBoxEditNguoiDung)))
         {
             _Reset_Control();
             return;
         }
         string tenNguoiDung = CboUtil.GetDisplayItem(comboBoxEditNguoiDung);
         if (MsgboxUtil.YesNo("Bạn có muốn xóa người dùng "
                              + tenNguoiDung + " hay không?") == DialogResult.Yes)
         {
             if (_nguoiDungBUS.Xoa_NguoiDung(CboUtil.GetValueItem(comboBoxEditNguoiDung)))
             {
                 MsgboxUtil.Success("Xóa người dùng "
                                    + tenNguoiDung + " thành công!");
                 gridControlNguoiDung.DataSource = _nguoiDungBUS.LayDT_NguoiDung();
                 return;
             }
         }
     }
     else
     {
         _Reset_Control();
         return;
     }
 }
 private void btnThoat_ItemClick(object sender, ItemClickEventArgs e)
 {
     if (MsgboxUtil.YesNo("Bạn muốn thoát chương trình?") == DialogResult.Yes)
     {
         if (StaticClass.DangNhap)
         {
             StaticClass.Log.GhiFile("Thoát chương trình mà không đăng xuất");
         }
         Application.Exit();
     }
 }
        private void simpleButtonXoaPLMoi_Click(object sender, EventArgs e)
        {
            if (!_KiemTra_LopMoi_DaChon())
            {
                return;
            }

            string maLopMoi     = CboUtil.GetValueItem(comboBoxEditLopMoi),
                   tenLopMoi    = CboUtil.GetDisplayItem(comboBoxEditLopMoi),
                   tenNamHocMoi = CboUtil.GetDisplayItem(comboBoxEditNamHocMoi);

            var dsHocSinhChon = new Dictionary <string, string>();

            for (int i = 0; i < gridViewDSHocSinhMoi.RowCount; i++)
            {
                if (Convert.ToBoolean(gridViewDSHocSinhMoi.GetRowCellValue(i, "Check")))
                {
                    dsHocSinhChon.Add(gridViewDSHocSinhMoi.GetRowCellValue(i, "MaHocSinh").ToString(),
                                      gridViewDSHocSinhMoi.GetRowCellValue(i, "TenHocSinh").ToString());
                }
            }
            if (dsHocSinhChon.Count == 0)
            {
                MsgboxUtil.Error("Bạn chưa chọn học sinh để xóa!");
                return;
            }

            if (radioButtonPhanLopHoSo_ChuaPhanLop.Checked || radioButtonPhanLopHocSinh_NamTruoc.Checked)
            {
                if (MsgboxUtil.YesNo("Bạn có muốn xóa các hồ sơ học sinh đã chọn thuộc lớp " + maLopMoi
                                     + " năm học " + tenNamHocMoi + " hay không?")
                    == DialogResult.No)
                {
                    return;
                }

                if (_phanLopBUS.Xoa_DSHocSinh_Lop(dsHocSinhChon, maLopMoi))
                {
                    MsgboxUtil.Success("Đã xóa các hồ sơ trong lớp: " + tenLopMoi + " thành công!");
                }
                else
                {
                    MsgboxUtil.Info("Không có hồ sơ học sinh nào được xóa!");
                }

                _LoadGridcontrolDSHocSinhMoi();

                if (radioButtonPhanLopHoSo_ChuaPhanLop.Checked)
                {
                    _LoadGridcontrolDSHocSinh();
                }
            }
            _HienThi_Button();
        }
        private void advBandedGridView1_ValidateRow(object sender, ValidateRowEventArgs e)
        {
            DataRow dr       = advBandedGridView1.GetDataRow(e.RowHandle);
            var     bangDiem = new BangDiemDTO
            {
                HocSinh =
                {
                    MaHocSinh  = dr["MaHocSinh"].ToString(),
                    TenHocSinh = dr["TenHocSinh"].ToString()
                },
                MaHocKy = Convert.ToInt32(CboUtil.GetValueItem(comboBoxEditHocKy)),
                MonHoc  = { MaMonHoc = CboUtil.GetValueItem(comboBoxEditMonHoc) },
                LopDTO  = { MaLop = treeListLopHoc.FocusedNode.GetValue("MaKhoi").ToString() },
                DM_1    = dr["DM_1"] is DBNull ? -1 : Convert.ToDouble(dr["DM_1"]),
                DM_2    = dr["DM_2"] is DBNull ? -1 : Convert.ToDouble(dr["DM_2"]),
                D15_1   = dr["D15_1"] is DBNull ? -1 : Convert.ToDouble(dr["D15_1"]),
                D15_2   = dr["D15_2"] is DBNull ? -1 : Convert.ToDouble(dr["D15_2"]),
                D15_3   = dr["D15_3"] is DBNull ? -1 : Convert.ToDouble(dr["D15_3"]),
                D15_4   = dr["D15_4"] is DBNull ? -1 : Convert.ToDouble(dr["D15_4"]),
                D1T_1   = dr["D1T_1"] is DBNull ? -1 : Convert.ToDouble(dr["D1T_1"]),
                D1T_2   = dr["D1T_2"] is DBNull ? -1 : Convert.ToDouble(dr["D1T_2"]),
                DThi    = dr["DThi"] is DBNull ? -1 : Convert.ToDouble(dr["DThi"]),
                DTB     = dr["DTB"] is DBNull ? -1 : Convert.ToDouble(dr["DTB"])
            };


            try
            {
                // Kiểm tra điểm hợp lệ trên 1 dòng
                _bangDiemBUS.KiemTraHopLe_DataRow_Lop_MonHoc_HocKy(bangDiem);
                // Tính điểm trung bình
                double dTbBangdiem = _bangDiemBUS.TinhDTB_DataRow_Lop_MonHoc_HocKy(bangDiem);
                bangDiem.DTB = dTbBangdiem;
                // Gán và hiển thị cột DTB
                advBandedGridView1.SetRowCellValue(e.RowHandle, "DTB", dTbBangdiem);
                // Lưu vào CSDL
                _bangDiemBUS.LuuBangDiem_HocSinh_MonHoc_HocKy(bangDiem);
            }
            catch (Exception ex)
            {
                if (MsgboxUtil.YesNo(ex.Message
                                     + "\nBạn có muốn bỏ dòng này và nhập lại lần sau hay không?") ==
                    DialogResult.No)
                {
                    e.Valid = false;
                }
                else
                {
                    _bangDiemBUS.XoaBangDiem_HocSinh_MonHoc_HocKy(bangDiem);
                    HienThi_Lai_BangDiem();
                }
            }
        }
예제 #9
0
 private void frmMain_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Escape &&
         !(xtraTabbedMdiManager.SelectedPage.MdiChild is FrmHome))
     {
         if (MsgboxUtil.YesNo("Bạn có muốn đóng màn hình " +
                              xtraTabbedMdiManager.SelectedPage.MdiChild.Text + " hay không?")
             == DialogResult.Yes)
         {
             xtraTabbedMdiManager.SelectedPage.MdiChild.Close();
         }
     }
 }
예제 #10
0
 private void btnDoiMatKhau_Click(object sender, EventArgs e)
 {
     if (_frmDoiMK.textEditMatKhauCu.Text == "")
     {
         MsgboxUtil.Error("Bạn chưa nhập mật khẩu cũ!");
         _frmDoiMK.textEditMatKhauCu.Focus();
         return;
     }
     if (_frmDoiMK.textEditMatKhauMoi.Text == "")
     {
         MsgboxUtil.Error("Bạn chưa nhập mật khẩu mới!");
         _frmDoiMK.textEditMatKhauMoi.Focus();
         return;
     }
     if (_frmDoiMK.textEditReMatKhauMoi.Text == "")
     {
         MsgboxUtil.Error("Bạn chưa nhập mật lại khẩu mới!");
         _frmDoiMK.textEditReMatKhauMoi.Focus();
         return;
     }
     if (_frmDoiMK.textEditMatKhauMoi.Text != _frmDoiMK.textEditReMatKhauMoi.Text)
     {
         _frmDoiMK.textEditMatKhauMoi.Focus();
         MsgboxUtil.Error("Mật khẩu nhập lại không hợp lệ!");
         return;
     }
     if (ObjectUtil.User.MatKhau != ObjectUtil.MaHoaMD5(_frmDoiMK.textEditMatKhauCu.Text))
     {
         MsgboxUtil.Error("Mật khẩu cũ không hợp lệ!");
         _frmDoiMK.textEditMatKhauCu.Focus();
         return;
     }
     // Change password
     if (_nguoiDungBUS.DoiMatKhau_NguoiDung(ObjectUtil.User.TenDNhap, _frmDoiMK.textEditMatKhauMoi.Text))
     {
         // Set mật khẩu mới
         ObjectUtil.User.MatKhau = ObjectUtil.MaHoaMD5(_frmDoiMK.textEditMatKhauMoi.Text);
         if (MsgboxUtil.YesNo("Đổi mật khẩu thành công! Bạn có muốn đăng nhập lại?")
             == DialogResult.Yes)
         {
             _frmDoiMK.Dispose();
             Login();
         }
         else
         {
             _frmDoiMK.Dispose();
         }
     }
 }
예제 #11
0
        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();
        }
예제 #12
0
 private void toolStripMenuXoa_Click(object sender, EventArgs e)
 {
     try
     {
         if (MsgboxUtil.YesNo("Bạn muốn xóa sinh viên " + txtMSSV.Text + "?") == DialogResult.Yes)
         {
             int[] i = gridView1.GetSelectedRows();
             if (i.Length > 0)
             {
                 string mssv = gridView1.GetRowCellDisplayText(i[0], "MSSV");
                 gridView1.DeleteRow(i[0]);
                 SinhVienBUS.Xoa(mssv);
                 StaticClass.LuuThayDoi();
                 StaticClass.Log.GhiFile("Xóa sinh viên " + txtMSSV.Text);
             }
         }
     }
     catch (Exception ex)
     {
         ExceptionUtil.ThrowMsgBox(ex.Message);
     }
 }
        private void simpleButtonXoa_Click(object sender, EventArgs e)
        {
            if (!_isDeleteButton) // button nhap lai
            {
                ResetControl();
                return;
            }
            if (_lopBUS.KiemTraTonTai_MaLop(textEditMaLop.Text))
            {
                if (MsgboxUtil.YesNo("Bạn có muốn xóa toàn bộ danh sách học sinh, "
                                     + "bảng điểm học sinh và toàn bộ thông tin liên quan đến lớp " +
                                     textEditTenLop.Text + " hay không?")
                    == DialogResult.No)
                {
                    return;
                }

                _lopBUS.Xoa_Lop(textEditMaLop.Text);
                MsgboxUtil.Success("Đã xóa lớp " + textEditTenLop.Text + " thành công!");
                HienThi_DSLop();
            }
        }
예제 #14
0
 private void toolStripMenuXoa_Click(object sender, EventArgs e)
 {
     try
     {
         int[]  i    = gridView1.GetSelectedRows();
         string maPC = gridView1.GetRowCellDisplayText(i[0], "MaPC");
         if (MsgboxUtil.YesNo("Bạn chắc chắn muốn xóa phân công " + maPC + "?") == DialogResult.Yes)
         {
             if (i.Length > 0)
             {
                 gridView1.DeleteRow(i[0]);
                 PhanCongBUS.Xoa(maPC);
                 StaticClass.LuuThayDoi();
                 log.GhiFile("Xóa phân công giảng dạy: " + maPC);
             }
         }
     }
     catch (Exception ex)
     {
         ExceptionUtil.ThrowMsgBox(ex.Message);
     }
 }
예제 #15
0
        private void simpleButtonXoa_Click(object sender, EventArgs e)
        {
            if (!_isDeleteButton)
            {
                _Reset_Control();
                return;
            }

            if (textEditmaHocSinh.Text == "")
            {
                MsgboxUtil.Error("Bạn chưa chọn học sinh để thực hiện xóa!");
                return;
            }
            if (
                MsgboxUtil.YesNo("Bạn có chắc chắn muốn xóa toàn bộ hồ sơ học sinh \"" + textEditTenHocSinh.Text +
                                 "\" hay không?") == DialogResult.No)
            {
                return;
            }
            _hocSinhBUS.Xoa_HoSo_HocSinh(textEditmaHocSinh.Text);
            MsgboxUtil.Success("Xóa hồ sơ học sinh thành công!");
            LoadLai_GridControl_HocSinh(checkEditChuaPhanLop.Checked);
        }
        private void simpleButtonGhi_Click(object sender, EventArgs e)
        {
            if (CboUtil.CheckSelectedNull(comboBoxEditNguoiDung) ||
                CboUtil.CheckSelectedNull(comboBoxEditQuyenSuDung))

            {
                MsgboxUtil.Error("Bạn chưa chọn người dùng hoặc chưa có giáo viên nào trong danh sách!");
                return;
            }
            if (textEdittenTruyCap.Text == "")
            {
                MsgboxUtil.Error("Bạn chưa nhập tên đăng nhập");
                return;
            }
            if (!_isAddButton &&
                _nguoiDungBUS.KiemTraTonTai_TaiKhoan(textEdittenTruyCap.Text.Replace("'", "''").Trim()))
            {
                MsgboxUtil.Error("Tài khoản: " + textEdittenTruyCap.Text + " đã tồn tại. Hãy chọn tài khoản khác!");
                return;
            }


            bool checkExistsUser = _nguoiDungBUS.KiemTraTonTai_NguoiDung(
                CboUtil.GetValueItem(comboBoxEditNguoiDung));

            // không tồn tại và mk rỗng
            if (!checkExistsUser && textEditMatKhau.Text == "")
            {
                MsgboxUtil.Error("Bạn chưa nhập mật khẩu!");
                return;
            }
            // nếu đang thêm
            if (!_isAddButton)
            {
                if (checkExistsUser)
                {
                    if (MsgboxUtil.YesNo("Giáo viên: " + CboUtil.GetDisplayItem(comboBoxEditNguoiDung)
                                         +
                                         " đã được tạo tài khoản.\nBạn có muốn cập nhật lại thông tin tài khoản cho giáo viên này?")
                        == DialogResult.No
                        )
                    {
                        return;
                    }
                }
            }

            // Lay tt nguoi dung
            var user = new NguoiDungDTO();

            user.MaND = CboUtil.GetValueItem(comboBoxEditNguoiDung);
            user.LoaiNguoiDung.MaLoai = CboUtil.GetValueItem(comboBoxEditQuyenSuDung);
            user.TenDNhap             = textEdittenTruyCap.Text.Replace("'", "''");
            user.MatKhau   = (textEditMatKhau.Text == "") ? "" : textEditMatKhau.Text.Replace("'", "''");
            user.TrangThai = radioGroupTrangThai.SelectedIndex;
            // Check nguoi dung ton tai hay chua
            if (!checkExistsUser)
            {
                // thêm
                if (_nguoiDungBUS.Them_NguoiDung(user))
                {
                    MsgboxUtil.Success("Thêm thành công user: "******" !");
                }
                _Load_Lai_Gridview();
            }
            else
            {
                _currentRowEdit = gridViewNguoiDung.FocusedRowHandle;
                // Sửa
                if (_nguoiDungBUS.Sua_NguoiDung(user))
                {
                    MsgboxUtil.Success("Sửa thành công user: "******" !");
                }
                _Load_Lai_Gridview(_currentRowEdit);
            }
        }
        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();
        }