private void KhoaHoc_ClickData(KHOAHOC kh)
 {
     try
     {
         txtMaKhoaHoc.Text  = kh.MaKhoaHoc;
         txtTenKhoaHoc.Text = kh.TenKhoaHoc;
         numHocPhi.Text     = O2S_Common.Number.Convert.NumberToString(kh.HocPhi ?? 0, 0);
         numSoTietHoc.Text  = O2S_Common.Number.Convert.NumberToString(kh.SoTietHoc ?? 0, 0);
         decimal _hocphi1buoi = kh.SoTietHoc != 0 ? (kh.HocPhi / kh.SoTietHoc) ?? 0 : 0;
         numHocPhi1Buoi.Text = O2S_Common.Number.Convert.NumberToString(_hocphi1buoi, 0);
         chkDaKhoa.Checked   = kh.IsLock ?? false;
         //Load mon hoc cua Khoa hoc
         List <KhoaHocMonHocDTO> _lstKHMH = this.lstKHMH;
         List <KHOAHOC_MONHOC>   _khmh    = KhoaHocMonHocLogic.SelectTheoKhoaHoc(kh.KhoaHocId);
         if (_khmh != null && _khmh.Count > 0)
         {
             foreach (var item in _lstKHMH)
             {
                 List <KHOAHOC_MONHOC> _kiemtra = _khmh.Where(o => o.MonHocId == item.MonHocId).ToList();
                 if (_kiemtra != null && _kiemtra.Count > 0)
                 {
                     item.IsCheck = true;
                     item.DiemDat = _kiemtra[0].DiemDat ?? 0;
                 }
                 else
                 {
                     item.IsCheck = false;
                     item.DiemDat = 0;
                 }
             }
         }
         else
         {
             foreach (var item in _lstKHMH)
             {
                 item.IsCheck = false;
                 item.DiemDat = 0;
             }
         }
         gridControlDSMonHoc.DataSource = null;
         gridControlDSMonHoc.DataSource = _lstKHMH;
     }
     catch (Exception ex)
     {
         O2S_Common.Logging.LogSystem.Warn(ex);
     }
 }
        private void btnLuuThongTin_Click(object sender, EventArgs e)
        {
            try
            {
                if (isInsert)
                {
                    int _khoaHocId = 0;
                    if (KhoaHocLogic.Insert(LoadKhoaHoc(), ref _khoaHocId))
                    {//Insert Khoa hoc-mon hoc
                        for (int i = 0; i < gridViewDSMonHoc.RowCount; i++)
                        {
                            bool _IsCheck = O2S_Common.TypeConvert.Parse.ToBoolean(gridViewDSMonHoc.GetRowCellValue(i, "IsCheck").ToString());
                            if (_IsCheck)
                            {
                                KHOAHOC_MONHOC _khmh = new KHOAHOC_MONHOC();
                                _khmh.KhoaHocId  = _khoaHocId;
                                _khmh.TenKhoaHoc = txtTenKhoaHoc.Text;
                                _khmh.MonHocId   = O2S_Common.TypeConvert.Parse.ToInt32(gridViewDSMonHoc.GetRowCellValue(i, "MonHocId").ToString());
                                _khmh.TenMonHoc  = gridViewDSMonHoc.GetRowCellValue(i, "TenMonHoc").ToString();
                                _khmh.DiemDat    = O2S_Common.TypeConvert.Parse.ToDecimal(gridViewDSMonHoc.GetRowCellValue(i, "DiemDat").ToString());
                                KhoaHocMonHocLogic.Insert(_khmh);
                            }
                        }
                        O2S_Common.Utilities.ThongBao.frmThongBao frmthongbao = new O2S_Common.Utilities.ThongBao.frmThongBao(Base.ThongBaoLable.THEM_MOI_THANH_CONG);
                        frmthongbao.Show();
                    }
                    else
                    {
                        O2S_Common.Utilities.ThongBao.frmThongBao frmthongbao = new O2S_Common.Utilities.ThongBao.frmThongBao(Base.ThongBaoLable.THEM_MOI_THAT_BAI);
                        frmthongbao.Show();
                    }
                }
                else //update
                {
                    if (KhoaHocLogic.Update(LoadKhoaHoc()))
                    {
                        //INsert Khoa hoc-mon hoc
                        KhoaHocMonHocLogic.DeleteTheoKhoaHoc(this.khoaHocSelect.KhoaHocId);
                        for (int i = 0; i < gridViewDSMonHoc.RowCount; i++)
                        {
                            bool _IsCheck = O2S_Common.TypeConvert.Parse.ToBoolean(gridViewDSMonHoc.GetRowCellValue(i, "IsCheck").ToString());
                            if (_IsCheck)
                            {
                                KHOAHOC_MONHOC _khmh = new KHOAHOC_MONHOC();
                                _khmh.KhoaHocId  = this.khoaHocSelect.KhoaHocId;
                                _khmh.TenKhoaHoc = txtTenKhoaHoc.Text;
                                _khmh.MonHocId   = O2S_Common.TypeConvert.Parse.ToInt32(gridViewDSMonHoc.GetRowCellValue(i, "MonHocId").ToString());
                                _khmh.TenMonHoc  = gridViewDSMonHoc.GetRowCellValue(i, "TenMonHoc").ToString();
                                _khmh.DiemDat    = O2S_Common.TypeConvert.Parse.ToDecimal(gridViewDSMonHoc.GetRowCellValue(i, "DiemDat").ToString());
                                KhoaHocMonHocLogic.Insert(_khmh);
                            }
                        }

                        O2S_Common.Utilities.ThongBao.frmThongBao frmthongbao = new O2S_Common.Utilities.ThongBao.frmThongBao(Base.ThongBaoLable.CAP_NHAT_THANH_CONG);
                        frmthongbao.Show();
                    }
                }
                LoadGridKhoaHoc();
            }
            catch (Exception ex)
            {
                O2S_Common.Logging.LogSystem.Error(ex);
            }
        }