상속: IP.Core.IPUserService.US_Object
        private decimal find_hs_lns(decimal ip_dc_id_ma_lns, decimal ip_dc_id_muc_lns)
        {
            try
            {
                US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
                DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();

                v_us.FillDataset(v_ds);

                string v_str_filter = "ID_MA_LNS = " + ip_dc_id_ma_lns + " AND ID_MUC_LNS = " + ip_dc_id_muc_lns;
                DataRow[] v_dr = v_ds.DM_HE_SO_LUONG_NS.Select(v_str_filter);

                if (v_dr.Count() == 0)
                {
                    return 0;
                }
                else
                {
                    return CIPConvert.ToDecimal(v_dr.First()["HE_SO"].ToString());
                }
            }
            catch (Exception v_e)
            {
                throw v_e;
            }
        }
 private bool check_ma_muc_da_ton_tai()
 {
     US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
     DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();
     decimal v_id_ma = CIPConvert.ToDecimal(m_sle_ma_lns.EditValue);
     decimal v_id_muc = CIPConvert.ToDecimal(m_sle_muc_lns.EditValue);
     v_us.FillDataset(v_ds, "where id_ma_lns = " + v_id_ma + "and id_muc_lns =" + v_id_muc);
     if ((m_us.dcID_MA_LNS != v_id_ma || m_us.dcID_MUC_LNS != v_id_muc) && v_ds.Tables[0].Rows.Count != 0)
     {
         return true;
     }
     return false;
 }
 public void display_4_update(US_DM_HE_SO_LUONG_NS ip_us)
 {
     this.Text = "F103 - Sửa hệ số lương năng suất";
     m_lbl_header.Text = "SỬA HỆ SỐ LƯƠNG NĂNG SUẤT";
     m_e_form_mode = DataEntryFormMode.UpdateDataState;
     m_id_dm_he_so_luong_ns_4_update = ip_us.dcID;
     m_sle_ma_lns.EditValue = ip_us.dcID_MA_LNS.ToString();
     m_sle_muc_lns.EditValue = ip_us.dcID_MUC_LNS.ToString();
     m_txt_he_so_luong_ns.Text = ip_us.dcHE_SO.ToString();
     //m_txt_loai_lao_dong.Text = ip_us.dcID_LOAI_LAO_DONG.ToString();
     m_us = ip_us;
     this.CenterToScreen();
     this.ShowDialog();
 }
        private void focus_new_row_created(decimal ip_dc_id_dm_dv)
        {
            int v_row_index = 0;
            decimal v_id_qd_moi_lap = 0;
            US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
            DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();

            v_id_qd_moi_lap = ip_dc_id_dm_dv;
            v_us.FillDataset(v_ds);

            for (v_row_index = 0; v_row_index < v_ds.Tables[0].Rows.Count; v_row_index++)
            {
                var v_id_gd_qd = CIPConvert.ToDecimal(m_grv_dm_he_so_luong_ns.GetDataRow(v_row_index)["ID"].ToString());

                if (v_id_gd_qd == v_id_qd_moi_lap)
                {
                    break;
                }
            }
            m_grv_dm_he_so_luong_ns.FocusedRowHandle = v_row_index;
        }
        private decimal find_id_hs_lns_by_ma_muc(string ma_lns, string muc_lns)
        {
            try
            {
                decimal id_ma_lns = (from DataRow dr in m_dt_ma_lns.Rows
                                     where (string)dr[CM_DM_TU_DIEN.MA_TU_DIEN] == ma_lns
                                     select (decimal)dr[CM_DM_TU_DIEN.ID]).FirstOrDefault();
                decimal id_muc_lns = (from DataRow dr in m_dt_muc_lns.Rows
                                      where (string)dr[CM_DM_TU_DIEN.MA_TU_DIEN] == muc_lns
                                      select (decimal)dr[CM_DM_TU_DIEN.ID]).FirstOrDefault();
                US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
                DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();
                v_us.FillDataset(v_ds);
                decimal id_lns = (from DataRow dr in v_ds.Tables[0].Rows
                                  where (decimal)dr["ID_MA_LNS"] == id_ma_lns & (decimal)dr["ID_MUC_LNS"] == id_muc_lns
                                  select (decimal)dr["ID"]).FirstOrDefault();

                return id_lns;
            }
            catch(Exception v_e)
            {
                throw v_e;
            }
        }
 private decimal find_he_so_lns_by_id(decimal dcID_HE_SO_LNS)
 {
     US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS(dcID_HE_SO_LNS);
     return v_us.dcHE_SO;
 }
        private decimal find_id_muc_lns(decimal ip_dc_id_hs_lns)
        {
            US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
            DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();

            v_us.FillDataset(v_ds);

            string v_str_filter = "ID = " + ip_dc_id_hs_lns;
            DataRow[] v_dr = v_ds.DM_HE_SO_LUONG_NS.Select(v_str_filter);

            if (v_dr.Count() == 0)
            {
                return -1;
            }
            else
            {
                return CIPConvert.ToDecimal(v_dr.First()["ID_MUC_LNS"].ToString());
            }
        }
        private decimal find_id_muc_hs_lns_hien_tai(decimal m_id_gd_hs_lns_lcd_hien_tai)
        {
            US_GD_HS_LNS_LCD v_us_gd_hs_lns_lcd = new US_GD_HS_LNS_LCD(m_id_gd_hs_lns_lcd_hien_tai);
            US_DM_HE_SO_LUONG_NS v_us_dm_hs_lns = new US_DM_HE_SO_LUONG_NS(v_us_gd_hs_lns_lcd.dcID_HS_LNS);

            return CIPConvert.ToDecimal(v_us_dm_hs_lns.dcID_MUC_LNS);
        }
        void m_cmd_update_Click(object sender, EventArgs e)
        {
            try
            {
                decimal v_id_dm_he_so_luong_ns = CIPConvert.ToDecimal(m_grv_dm_he_so_luong_ns.GetRowCellValue(m_grv_dm_he_so_luong_ns.FocusedRowHandle, "ID"));

                if (v_id_dm_he_so_luong_ns > 0)
                {
                    US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS(v_id_dm_he_so_luong_ns);
                    F103_dm_he_so_luong_ns_de v_frm = new F103_dm_he_so_luong_ns_de();
                    v_frm.display_4_update(v_us);
                    load_data_2_grid();

                    focus_new_row_created(v_id_dm_he_so_luong_ns);
                }
                else
                {
                    CHRM_BaseMessages.MsgBox_Error(CONST_ID_MSGBOX.ERROR_CHUA_CHON_DONG_TREN_LUOI_DE_SUA);
                }
            }
            catch (Exception v_e)
            {
                CSystemLog_301.ExceptionHandle(v_e);
            }
        }
 //save data
 private void form_2_us_obj(US_DM_HE_SO_LUONG_NS ip_us)
 {
     ip_us.dcID_MA_LNS = CIPConvert.ToDecimal(m_sle_ma_lns.EditValue);
     ip_us.dcID_MUC_LNS = CIPConvert.ToDecimal(m_sle_muc_lns.EditValue);
     ip_us.dcHE_SO = CIPConvert.ToDecimal(m_txt_he_so_luong_ns.Text.Trim());
     //ip_us.dcID_LOAI_LAO_DONG = CIPConvert.ToDecimal(m_txt_loai_lao_dong.Text.Trim());
 }
        private void us_2_form()
        {
            m_sle_chon_nhan_vien.EditValue = m_us.dcID_NHAN_VIEN;
            m_sle_chon_nhan_vien.Enabled = false;
            if(!m_us.IsID_HE_SO_LNSNull())
            {
                US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS(m_us.dcID_HE_SO_LNS);
                m_sle_chuc_danh_lns.EditValue = v_us.dcID_MA_LNS;
                m_sle_muc_lns.EditValue = v_us.dcID_MUC_LNS;
            }

            m_dat_ngay_bat_dau.EditValue = m_us.datNGAY_BAT_DAU;
            if(m_us.IsNGAY_KET_THUCNull())
            {
                m_dat_ngay_ket_thuc.EditValue = null;
            }
            else
            {
                m_dat_ngay_ket_thuc.EditValue = m_us.datNGAY_KET_THUC;
            }
            m_txt_hs_lns.EditValue = m_us.dcHE_SO;
            m_txt_ly_do.Text = m_us.strLY_DO_CHINH_SUA;
        }
        private decimal find_hs_lns()
        {
            if(m_sle_chuc_danh_lns.EditValue != null
                && m_sle_muc_lns.EditValue != null)
            {
                US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
                DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();

                v_us.FillDataset(v_ds);

                string v_str_filter = "ID_MA_LNS = " + m_sle_chuc_danh_lns.EditValue + " AND ID_MUC_LNS = " + m_sle_muc_lns.EditValue;
                DataRow[] v_dr = v_ds.DM_HE_SO_LUONG_NS.Select(v_str_filter);

                if(v_dr.Count() == 0)
                {
                    return 0;
                }
                else
                {
                    return Convert.ToDecimal(v_dr.First()["HE_SO"]);
                }
            }
            else
            {
                return 0;
            }
        }
        private void us_obj_2_form(decimal v_id_gd_hd, decimal v_id_gd_lns_lcd)
        {
            US_GD_HOP_DONG v_us_gd_hd = new US_GD_HOP_DONG(v_id_gd_hd);

            if (v_id_gd_lns_lcd != -1)
            {
                US_GD_HS_LNS_LCD v_us_gd_lns_lcd = new US_GD_HS_LNS_LCD(v_id_gd_lns_lcd);
                US_DM_HE_SO_LUONG_NS v_us_dm_hs_lns = new US_DM_HE_SO_LUONG_NS(v_us_gd_lns_lcd.dcID_HS_LNS);
                US_DM_LUONG_CHE_DO v_us_dm_lcd = new US_DM_LUONG_CHE_DO(v_us_gd_lns_lcd.dcID_LCD);
                m_sle_chon_nhan_vien.EditValue = v_us_gd_hd.dcID_NHAN_VIEN;
                m_txt_ma_hd.Text = v_us_gd_hd.strMA_HOP_DONG;
                m_sle_loai_hop_dong.EditValue = v_us_gd_hd.dcID_LOAI_HOP_DONG;
                m_dat_ngay_bat_dau.Value = v_us_gd_hd.datNGAY_BAT_DAU;
                m_dat_ngay_ket_thuc.Value = v_us_gd_hd.datNGAY_KET_THUC;
                m_dat_ngay_ky.Value = v_us_gd_hd.datNGAY_KY_HOP_DONG;

                if (v_us_gd_hd.dcID_LOAI_HOP_DONG == CONST_ID_LOAI_HOP_DONG.HOP_DONG_HOC_VIEC)
                {
                    m_gr_LNS.Enabled = false;
                    m_gr_LCD.Enabled = false;
                }
                else
                {
                    m_sle_chuc_danh_lns.EditValue = v_us_dm_hs_lns.dcID_MA_LNS;
                    m_sle_muc_lns.EditValue = v_us_dm_hs_lns.dcID_MUC_LNS;
                    m_sle_chuc_danh_lcd.EditValue = v_us_dm_lcd.dcID_MA_LCD;
                    m_sle_muc_lcd.EditValue = v_us_dm_lcd.dcID_MUC_LCD;
                }
            }
            else
            {
                m_sle_chon_nhan_vien.EditValue = v_us_gd_hd.dcID_NHAN_VIEN;
                m_txt_ma_hd.Text = v_us_gd_hd.strMA_HOP_DONG;
                m_sle_loai_hop_dong.EditValue = v_us_gd_hd.dcID_LOAI_HOP_DONG;
                m_dat_ngay_bat_dau.Value = v_us_gd_hd.datNGAY_BAT_DAU;
                m_dat_ngay_ket_thuc.Value = v_us_gd_hd.datNGAY_KET_THUC;
                m_dat_ngay_ky.Value = v_us_gd_hd.datNGAY_KY_HOP_DONG;
                if (v_us_gd_hd.dcID_LOAI_HOP_DONG == CONST_ID_LOAI_HOP_DONG.HOP_DONG_HOC_VIEC)
                {
                    m_gr_LNS.Enabled = false;
                    m_gr_LCD.Enabled = false;
                }
            }

            if (m_e_form_mode == DataEntryFormMode.UpdateDataState)
            {

            }
        }
        private decimal find_id_hs_lns()
        {
            US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
            DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();

            v_us.FillDataset(v_ds);

            string v_str_filter = "ID_MA_LNS = " + m_sle_ma_lns.EditValue + " AND ID_MUC_LNS = " + m_sle_muc_lns.EditValue;
            DataRow[] v_dr = v_ds.DM_HE_SO_LUONG_NS.Select(v_str_filter);

            if (v_dr.Count() == 0)
            {
                return -1;
            }
            else
            {
                return CIPConvert.ToDecimal(v_dr.First()["ID"].ToString());
            }
        }
        private void save_data()
        {
            US_DM_HE_SO_LUONG_NS v_us_dm_he_so_luong_ns = new US_DM_HE_SO_LUONG_NS();
            form_2_us_obj(v_us_dm_he_so_luong_ns);

            try
            {
                switch (m_e_form_mode)
                {
                    case DataEntryFormMode.InsertDataState:
                        v_us_dm_he_so_luong_ns.BeginTransaction();
                        v_us_dm_he_so_luong_ns.Insert();
                        v_us_dm_he_so_luong_ns.CommitTransaction();
                        m_id_dm_he_so_luong_ns_moi_tao = v_us_dm_he_so_luong_ns.dcID;
                        break;
                    case DataEntryFormMode.UpdateDataState:
                        v_us_dm_he_so_luong_ns.dcID = m_id_dm_he_so_luong_ns_4_update;
                        v_us_dm_he_so_luong_ns.BeginTransaction();
                        v_us_dm_he_so_luong_ns.Update();
                        v_us_dm_he_so_luong_ns.CommitTransaction();
                        break;
                    default:
                        break;
                }
                CHRM_BaseMessages.MsgBox_Infor(CONST_ID_MSGBOX.INFOR_DU_LIEU_DA_DUOC_CAP_NHAT);
                this.Close();
            }
            catch (Exception v_e)
            {
                throw v_e;
            }
        }
        private string load_data_to_lbl_he_so_lns()
        {
            if (m_sle_ma_lns.EditValue != null
                && m_sle_muc_lns.EditValue != null)
             {
                US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS();
                DS_DM_HE_SO_LUONG_NS v_ds = new DS_DM_HE_SO_LUONG_NS();

                v_us.FillDataset(v_ds);

                string v_str_filter = "ID_MA_LNS = " + m_sle_ma_lns.EditValue + " AND ID_MUC_LNS = " + m_sle_muc_lns.EditValue;
                DataRow[] v_dr = v_ds.DM_HE_SO_LUONG_NS.Select(v_str_filter);

                if (v_dr.Count() == 0)
                {
                    return "";
                }
                else
                {
                    return v_dr.First()["HE_SO"].ToString().ToString();
                }
            }
            else
            {
                return "";
            }
        }
 void m_cmd_delete_Click(object sender, EventArgs e)
 {
     try
     {
         if (CHRM_BaseMessages.MsgBox_Confirm(CONST_ID_MSGBOX.QUESTION_XAC_NHAN_XOA_THONG_TIN_DA_CHON_TREN_LUOI) == true)
         {
             DataRow v_dr = m_grv_dm_he_so_luong_ns.GetDataRow(m_grv_dm_he_so_luong_ns.FocusedRowHandle);
             decimal v_id_lns = CIPConvert.ToDecimal(v_dr["ID"]);
             if (check_lns_dang_su_dung(v_id_lns))
             {
                 string v_str_error = " Không thể xóa loại lương năng suất đang được sử dụng!";
                 XtraMessageBox.Show(v_str_error, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 return;
             }
             US_DM_HE_SO_LUONG_NS v_us = new US_DM_HE_SO_LUONG_NS(v_id_lns);
             v_us.BeginTransaction();
             v_us.Delete();
             v_us.CommitTransaction();
             XtraMessageBox.Show("Xóa thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
             load_data_2_grid();
         }
     }
     catch (Exception v_e)
     {
         CSystemLog_301.ExceptionHandle(v_e);
     }
 }