private void diem_danh_lop_mon()
        {
            for (int i = m_fg.Rows.Fixed; i < m_fg.Rows.Count; i++)
            {
                DS_GD_DIEM_DANH v_ds_diem_danh = new DS_GD_DIEM_DANH();
                US_GD_DIEM_DANH v_us_diem_danh = new US_GD_DIEM_DANH();

                US_V_DM_HOC_SINH v_us_dm_hs = new US_V_DM_HOC_SINH();
                decimal op_dc_id_gd_diem_danh = 0;

                if ((m_fg.GetCellCheck(i, 5) == CheckEnum.Checked) && (v_us_diem_danh.check_diem_danh_hs(
                                                                            CIPConvert.ToDecimal(m_fg.Rows[i][(int)e_col_Number.ID_HOC_SINH])
                                                                            , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue)
                                                                            , CIPConvert.ToDecimal(m_cbo_nguoi_diem_danh.SelectedValue)
                                                                            , m_dat_tai_ngay.Value.Date
                                                                            , ref op_dc_id_gd_diem_danh)))
                {
                    continue;
                }
                else if ((m_fg.GetCellCheck(i, 5) == CheckEnum.Checked) && (!v_us_diem_danh.check_diem_danh_hs(
                                                                            CIPConvert.ToDecimal(m_fg.Rows[i][(int)e_col_Number.ID_HOC_SINH])
                                                                            , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue)
                                                                            , CIPConvert.ToDecimal(m_cbo_nguoi_diem_danh.SelectedValue)
                                                                            , m_dat_tai_ngay.Value.Date
                                                                            , ref op_dc_id_gd_diem_danh)))
                {
                    v_us_diem_danh.dcID_HOC_SINH = CIPConvert.ToDecimal(m_fg.Rows[i][(int)e_col_Number.ID_HOC_SINH]);
                    v_us_diem_danh.dcID_LOP_MON = CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue);
                    v_us_diem_danh.dcID_NGUOI_NHAP = CIPConvert.ToDecimal(m_cbo_nguoi_diem_danh.SelectedValue);
                    v_us_diem_danh.dcID_NGUOI_DIEM_DANH = CIPConvert.ToDecimal(m_cbo_nguoi_diem_danh.SelectedValue);
                    v_us_diem_danh.datNGAY_HOC = m_dat_tai_ngay.Value.Date;
                    v_us_diem_danh.dcID_CA_HOC = CIPConvert.ToDecimal(m_cbo_ca_hoc.SelectedValue);
                    v_us_diem_danh.Insert();
                }
                else if ((m_fg.GetCellCheck(i, 5) == CheckEnum.Unchecked) && (v_us_diem_danh.check_diem_danh_hs(
                                                                            CIPConvert.ToDecimal(m_fg.Rows[i][(int)e_col_Number.ID_HOC_SINH])
                                                                            , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue)
                                                                            , CIPConvert.ToDecimal(m_cbo_nguoi_diem_danh.SelectedValue)
                                                                            , m_dat_tai_ngay.Value.Date
                                                                            , ref op_dc_id_gd_diem_danh)))
                {
                    v_us_diem_danh.dcID = op_dc_id_gd_diem_danh;
                    v_us_diem_danh.Delete();
                }
                else
                {
                    continue;
                }
            }
            BaseMessages.MsgBox_Infor("Bạn đã điểm danh thành công!!!");
        }
 private void us_object2grid(US_V_DM_HOC_SINH i_us
     , int i_grid_row)
 {
     DataRow v_dr = (DataRow)m_fg.Rows[i_grid_row].UserData;
     i_us.Me2DataRow(v_dr);
     m_obj_trans.DataRow2GridRow(v_dr, i_grid_row);
 }
 private void grid2us_object(US_V_DM_HOC_SINH i_us
     , int i_grid_row)
 {
     DataRow v_dr;
     v_dr = (DataRow)m_fg.Rows[i_grid_row].UserData;
     m_obj_trans.GridRow2DataRow(i_grid_row, v_dr);
     i_us.DataRow2Me(v_dr);
 }
 private void delete_v_dm_hoc_sinh()
 {
     if (!CGridUtils.IsThere_Any_NonFixed_Row(m_fg)) return;
     if (!CGridUtils.isValid_NonFixed_RowIndex(m_fg, m_fg.Row)) return;
     if (BaseMessages.askUser_DataCouldBeDeleted(8) != BaseMessages.IsDataCouldBeDeleted.CouldBeDeleted) return;
     US_V_DM_HOC_SINH v_us = new US_V_DM_HOC_SINH();
     grid2us_object(v_us, m_fg.Row);
     try
     {
         v_us.BeginTransaction();
         v_us.Delete();
         v_us.CommitTransaction();
         m_fg.Rows.Remove(m_fg.Row);
     }
     catch (Exception v_e)
     {
         v_us.Rollback();
         CDBExceptionHandler v_objErrHandler = new CDBExceptionHandler(v_e,
             new CDBClientDBExceptionInterpret());
         v_objErrHandler.showErrorMessage();
     }
 }
        private void cho_hoc_sinh_hoc_lop_moi()
        {
            for (int i = 0; i < m_ds.Tables[0].Rows.Count; i++)
            {
                DataRow v_dr = m_ds.Tables[0].Rows[i];
                US_V_DM_HOC_SINH v_us_v_dm_hs = new US_V_DM_HOC_SINH(CIPConvert.ToDecimal(v_dr[V_DM_HOC_SINH.ID]));
                US_GD_HOC v_us_gd_hoc = new US_GD_HOC();

                v_us_gd_hoc.BeginTransaction();
                v_us_gd_hoc.dcID_HOC_SINH = v_us_v_dm_hs.dcID;
                v_us_gd_hoc.dcID_LOP_MON = CIPConvert.ToDecimal(m_cbo_lop_mon_moi.SelectedValue);
                v_us_gd_hoc.strTRANG_THAI_YN = "Y";
                v_us_gd_hoc.datNGAY_BAT_DAU = DateTime.Now.Date;
                v_us_gd_hoc.datNGAY_KET_THUC = CIPConvert.ToDatetime("01/01/3000", "dd/MM/yyyy");
                v_us_gd_hoc.Insert();
                v_us_gd_hoc.CommitTransaction();
            }
        }
        private void update_di_hoc()
        {
            for (int v_i_cur_row = m_fg.Rows.Fixed; v_i_cur_row < m_fg.Rows.Count; v_i_cur_row++)
            {
                US_V_DM_HOC_SINH v_us_dm_hs = new US_V_DM_HOC_SINH();
                grid2us_object(v_us_dm_hs, v_i_cur_row);

                decimal op_dc_id_gd_diem_danh = 0;

                if (!v_us_dm_hs.check_diem_danh_hs(
                    CIPConvert.ToDecimal(m_fg.Rows[v_i_cur_row][(int)e_col_Number.ID_HOC_SINH])
                    , CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue)
                    , CIPConvert.ToDecimal(m_cbo_nguoi_diem_danh.SelectedValue)
                    , m_dat_tai_ngay.Value.Date
                    , ref op_dc_id_gd_diem_danh))
                {
                    m_fg.SetCellCheck(v_i_cur_row, 5, CheckEnum.None);
                }
                else
                {
                    m_fg.SetCellCheck(v_i_cur_row, 5, CheckEnum.Checked);
                }
            }
        }