Inheritance: IP.Core.IPUserService.US_Object
 public void display_4_update(US_GD_LUONG_CUNG ip_us)
 {
     m_e_form_mode = DataEntryFormMode.UpdateDataState;
     //this.m_lbl_header.Text = "SỬA THÔNG TIN LƯƠNG CỨNG";
     m_us_gd_luong_cung = ip_us;
     us_obj_2_form();
     this.ShowDialog();
 }
 //private void load_luong_cung_nv_2_form(decimal ip_dc_id_nv)
 //{
 //    decimal v_id_gd_luong_cung = find_id_gd_luong_cung(ip_dc_id_nv);
 //    if (v_id_gd_luong_cung != -1)
 //    {
 //        US_GD_LUONG_CUNG v_us_lc = new US_GD_LUONG_CUNG(v_id_gd_luong_cung);
 //        m_txt_so_tien.Text = v_us_lc.dcSO_TIEN.ToString();
 //        CCommon.format_text_2_money(m_txt_so_tien);
 //        m_dat_ngay_bat_dau.Value = v_us_lc.datNGAY_BAT_DAU;
 //        m_dat_ngay_ket_thuc.Value = v_us_lc.datNGAY_KET_THUC;
 //        m_txt_ghi_chu.Text = v_us_lc.strGHI_CHU;
 //    }
 //    else
 //    {
 //        m_txt_so_tien.Text = "";
 //        m_dat_ngay_bat_dau.Value = DateTime.Now.Date;
 //        m_dat_ngay_ket_thuc.Value = DateTime.Now.Date;
 //        m_txt_ghi_chu.Text = "";
 //    }
 //}
 //save data
 private void cho_gd_da_co_da_xoa_Y(decimal ip_dc_id_nhan_vien)
 {
     decimal v_id_gd_luong_cung = 0;
     v_id_gd_luong_cung = find_id_gd_luong_cung(ip_dc_id_nhan_vien);
     if (v_id_gd_luong_cung == -1)
     {
         return;
     }
     else
     {
         US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG(v_id_gd_luong_cung);
         try
         {
             v_us.strDA_XOA = "Y";
             v_us.BeginTransaction();
             v_us.Update();
             v_us.CommitTransaction();
         }
         catch (Exception v_e)
         {
             CSystemLog_301.ExceptionHandle(v_e);
         }
     }
 }
        void m_grv_luong_cung_cua_nhan_vien_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                decimal v_id_nv = CIPConvert.ToDecimal(m_grv_luong_cung_cua_nhan_vien.GetRowCellValue(m_grv_luong_cung_cua_nhan_vien.FocusedRowHandle, "ID_NHAN_VIEN"));
                if (v_id_nv > 0)
                {
                    decimal v_id_gd_luong_cung = find_id_gd_luong_cung(v_id_nv);
                    if (v_id_gd_luong_cung != -1)
                    {
                        v_us = new US_GD_LUONG_CUNG(v_id_gd_luong_cung);
                        f364_quan_ly_cac_nhan_vien_co_luong_cung_de frm = new f364_quan_ly_cac_nhan_vien_co_luong_cung_de();
                        frm.display_4_update(v_us);
                        load_data_2_grid();
                    }
                    else
                    {
                        f364_quan_ly_cac_nhan_vien_co_luong_cung_de frm = new f364_quan_ly_cac_nhan_vien_co_luong_cung_de();
                        frm.display_4_insert(v_id_nv);
                        load_data_2_grid();
                    }
                }
                else
                {
                    CHRM_BaseMessages.MsgBox_Error(CONST_ID_MSGBOX.ERROR_CHUA_CHON_DONG_TREN_LUOI_DE_SUA);
                    return;
                }

            }
            catch (Exception v_e)
            {
                CSystemLog_301.ExceptionHandle(v_e);
            }
        }
        void m_cmd_update_Click(object sender, EventArgs e)
        {
            try
            {
                decimal v_id_nv = CIPConvert.ToDecimal(m_grv_luong_cung_cua_nhan_vien.GetRowCellValue(m_grv_luong_cung_cua_nhan_vien.FocusedRowHandle, "ID_NHAN_VIEN"));
                decimal v_id_gd_luong_cung = find_id_gd_luong_cung(v_id_nv);
                if (v_id_gd_luong_cung != -1)
                {
                    v_us = new US_GD_LUONG_CUNG(v_id_gd_luong_cung);
                    f364_quan_ly_cac_nhan_vien_co_luong_cung_de frm = new f364_quan_ly_cac_nhan_vien_co_luong_cung_de();
                    frm.display_4_update(v_us);
                    load_data_2_grid();
                }
                else
                {
                    //f364_quan_ly_cac_nhan_vien_co_luong_cung_de frm = new f364_quan_ly_cac_nhan_vien_co_luong_cung_de();
                    //frm.display_4_insert(v_id_nv);
                    //load_data_2_grid();
                    CHRM_BaseMessages.MsgBox_Error("Nhân viên không có lương cứng!");
                }
            }

            catch (Exception v_e)
            {
                CSystemLog_301.ExceptionHandle(v_e);
            }
        }
 void m_cmd_delete_Click(object sender, EventArgs e)
 {
     try
     {
         if (CHRM_BaseMessages.MsgBox_Confirm(CONST_ID_MSGBOX.QUESTION_XAC_NHAN_XOA_DU_LIEU) == true)
         {
             //Lay ID cua dong du lieu muon xoa
             DataRow v_dr = m_grv_luong_cung_cua_nhan_vien.GetDataRow(m_grv_luong_cung_cua_nhan_vien.FocusedRowHandle);
             //Lay ID cua dong du lieu tren
             decimal v_id = CIPConvert.ToDecimal(v_dr[GD_LUONG_CUNG.ID]);
             //
             US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG(v_id);
             v_us.BeginTransaction();
             v_us.Delete();
             v_us.CommitTransaction();
             CHRM_BaseMessages.MsgBox_Infor("Đã xóa dữ liệu thành công");
             load_data_2_grid();
         }
         else
         {
             return;
         }
     }
     catch (Exception v_e)
     {
         CSystemLog_301.ExceptionHandle(v_e);
     }
 }
 private decimal find_id_gd_luong_cung(decimal ip_dc_id_nhan_vien)
 {
     //US_DUNG_CHUNG v_us = new US_DUNG_CHUNG();
     //DataSet v_ds = new DataSet();
     //v_ds.Tables.Add(new DataTable());
     //throw new Exception("Sua lai khong dung FillDataSetWithTableName nua nhe");
     // v_us.FillDatasetWithTableName(v_ds, "GD_LUONG_CUNG");
     US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG();
     DS_GD_LUONG_CUNG v_ds = new DS_GD_LUONG_CUNG();
     v_us.FillDataset(v_ds);
     string v_str_filter = "ID_NHAN_VIEN = " + ip_dc_id_nhan_vien + " AND DA_XOA = 'N'";
     DataRow[] v_dr = v_ds.Tables[0].Select(v_str_filter);
     if (v_dr.Count() == 0)
     {
         return -1;
     }
     else
     {
         return CIPConvert.ToDecimal(v_dr.First()["ID"].ToString());
     }
 }
        private void save_data()
        {
            try
            {

                switch (m_e_form_mode)
                {
                    case DataEntryFormMode.InsertDataState:
                        v_us_gd_luong_cung = new US_GD_LUONG_CUNG();
                        form_2_us_luong_cung(v_us_gd_luong_cung);
                        v_us_gd_luong_cung.BeginTransaction();
                        //cho_gd_da_co_da_xoa_Y(CIPConvert.ToDecimal(m_sle_chon_nhan_vien.EditValue));
                        v_us_gd_luong_cung.Insert();
                        v_us_gd_luong_cung.CommitTransaction();
                        CHRM_BaseMessages.MsgBox_Infor(CONST_ID_MSGBOX.INFOR_LUU_DU_LIEU_THANH_CONG);
                        break;
                    case DataEntryFormMode.UpdateDataState:
                        decimal v_id_gd_lc = find_id_gd_luong_cung(CIPConvert.ToDecimal(m_sle_chon_nhan_vien.EditValue));
                        v_us_gd_luong_cung = new US_GD_LUONG_CUNG(v_id_gd_lc);
                        form_2_us_luong_cung(v_us_gd_luong_cung);
                        v_us_gd_luong_cung.BeginTransaction();
                        v_us_gd_luong_cung.Update();
                        v_us_gd_luong_cung.CommitTransaction();
                        CHRM_BaseMessages.MsgBox_Infor(CONST_ID_MSGBOX.INFOR_DU_LIEU_DA_DUOC_CAP_NHAT);
                        break;
                    default:
                        break;
                }
            }
            catch (Exception v_e)
            {
                v_us_gd_luong_cung.Rollback();
                CSystemLog_301.ExceptionHandle(v_e);
            }
        }
 private bool kiem_tra_thoi_gian_hop_le_voi_lns_Update()
 {
     US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG();
     var v_dat_tu_ngay = m_dat_ngay_bat_dau.DateTime.Date;
     var v_dat_den_ngay = m_dat_ngay_ket_thuc.EditValue == null ? new DateTime(2100, 1, 1).Date : m_dat_ngay_ket_thuc.DateTime.Date;
     if(!v_us.KiemTraThoiGianVoiHeSoLNSForUpdate(m_us_gd_luong_cung.dcID, v_dat_tu_ngay, v_dat_den_ngay))
     {
         XtraMessageBox.Show("Không sửa lương cứng được vì nhân viên đã có hệ số LNS có hiệu lực trong khoảng thời gian này rồi!", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         return false;
     }
     return true;
 }
 //void m_txt_so_tien_Leave(object sender, EventArgs e)
 //{
 //    try
 //    {
 //        if (m_txt_so_tien.Text != "")
 //        {
 //            CHRMCommon.format_text_2_money(m_txt_so_tien);
 //        }
 //    }
 //    catch (Exception v_e)
 //    {
 //        CSystemLog_301.ExceptionHandle(v_e);
 //    }
 //}
 void m_sle_chon_nhan_vien_EditValueChanged(object sender, EventArgs e)
 {
     try
     {
         if (m_sle_chon_nhan_vien.EditValue == null)
         {
             return;
         }
         else
         {
             decimal id_nv = CIPConvert.ToDecimal(m_sle_chon_nhan_vien.EditValue);
             decimal id_gd = find_id_gd_luong_cung(id_nv);
             if (id_gd == -1)
             {
                 if (m_e_form_mode == DataEntryFormMode.UpdateDataState)
                 {
                     m_txt_so_tien.Text = "";
                     m_txt_ghi_chu.Text = "";
                     m_dat_ngay_bat_dau.EditValue = m_dat_ngay_ket_thuc.EditValue = DateTime.Now.Date;
                 }
                 m_e_form_mode = DataEntryFormMode.InsertDataState;
             }
             else
             {
                 if (m_e_form_mode == DataEntryFormMode.InsertDataState)
                 {
                     if (CHRM_BaseMessages.MsgBox_Confirm("Hiện tại nhân viên này đã có lương cứng. Bạn có muốn cập nhật thông tin?") == true)
                     {
                         m_e_form_mode = DataEntryFormMode.UpdateDataState;
                         m_us_gd_luong_cung = new US_GD_LUONG_CUNG(id_gd);
                         us_obj_2_form();
                     }
                     //else
                     //{
                     //    clear_data_in_form();
                     //}
                 }
                 //else
                 //{
                 //    if (m_lbl_header.Text != "SỬA THÔNG TIN LƯƠNG CỨNG")
                 //    {
                 //        if (CHRM_BaseMessages.MsgBox_Confirm("Hiện tại nhân viên này đã có lương cứng. Bạn có muốn cập nhật thông tin?") == true)
                 //        {
                 //            m_e_form_mode = DataEntryFormMode.UpdateDataState;
                 //            m_us_gd_luong_cung = new US_GD_LUONG_CUNG(id_gd);
                 //            us_obj_2_form();
                 //        }
                 //    }
                 //    else
                 //    {
                 //        return;
                 //    }
                 //}
             }
         }
     }
     catch (Exception v_e)
     {
         CSystemLog_301.ExceptionHandle(v_e);
     }
 }
 private bool kiem_tra_thoi_gian_hop_le_voi_lns_Insert()
 {
     US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG();
     var v_dat_tu_ngay = m_dat_ngay_bat_dau.DateTime.Date;
     var v_dat_den_ngay = m_dat_ngay_ket_thuc.EditValue == null ? new DateTime(2100, 1, 1).Date : m_dat_ngay_ket_thuc.DateTime.Date;
     if(!v_us.KiemTraThoiGianVoiHeSoLNSForInsert(Convert.ToDecimal(m_sle_chon_nhan_vien.EditValue), v_dat_tu_ngay, v_dat_den_ngay))
     {
         XtraMessageBox.Show("Không thêm lương cứng được vì nhân viên đã có hệ số LNS có hiệu lực trong khoảng thời gian này rồi!","THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         return false;
     }
     return true;
 }
 private void form_2_us_luong_cung(US_GD_LUONG_CUNG ip_us)
 {
     if (m_e_form_mode == DataEntryFormMode.UpdateDataState)
     {
         ip_us.dcID = CIPConvert.ToDecimal(m_us_gd_luong_cung.dcID);
         ip_us.datNGAY_SUA = DateTime.Now.Date;
         //nguoi sua
         ip_us.strNGUOI_SUA = CAppContext_201.getCurrentUserName();
     }
     else
     {
         ip_us.datNGAY_LAP = DateTime.Now.Date;
         //nguoi lap
         ip_us.strDA_XOA = "N";
         ip_us.strNGUOI_LAP = CAppContext_201.getCurrentUserName();
     }
     ip_us.dcID_NHAN_VIEN = CIPConvert.ToDecimal(m_sle_chon_nhan_vien.EditValue);
     ip_us.dcSO_TIEN = CIPConvert.ToDecimal(m_txt_so_tien.Text.Trim());
     ip_us.datNGAY_BAT_DAU = m_dat_ngay_bat_dau.DateTime.Date;
     if (m_dat_ngay_ket_thuc.EditValue == null)
     {
         ip_us.IsNGAY_KET_THUCNull();
     }
     else
     {
         ip_us.datNGAY_KET_THUC = m_dat_ngay_ket_thuc.DateTime.Date;
     }
     ip_us.strGHI_CHU = m_txt_ghi_chu.Text.Trim();
 }
 private decimal find_id_gd_luong_cung(decimal ip_dc_id_nhan_vien)
 {
     US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG();
     DS_GD_LUONG_CUNG v_ds = new DS_GD_LUONG_CUNG();
     v_us.FillDataset(v_ds);
     string v_str_filter = "ID_NHAN_VIEN = " + ip_dc_id_nhan_vien + " AND DA_XOA = 'N'";
     DataRow[] v_dr = v_ds.Tables[0].Select(v_str_filter);
     if (v_dr.Count() == 0)
     {
         return -1;
     }
     else
     {
         return CIPConvert.ToDecimal(v_dr.First()["ID"].ToString());
     }
 }
        private void luu_luong_cung()
        {
            try
            {
                US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG();
                v_us.datNGAY_BAT_DAU = m_dat_ngay_bat_dau_luong_cung.Value;
                v_us.datNGAY_KET_THUC = m_dat_ngay_ket_thuc_luong_cung.Value;
                v_us.dcID_NHAN_VIEN = v_us.dcID_NHAN_VIEN = CIPConvert.ToDecimal(m_dc_id_nhan_vien.ToString());
                v_us.dcSO_TIEN = CIPConvert.ToDecimal(m_so_tien);
                v_us.strDA_XOA = "N";
                v_us.strGHI_CHU = m_txt_ghi_chu.Text;
                switch (m_e_form_mode)
                {
                    case DataEntryFormMode.UpdateDataState:
                        break;
                    case DataEntryFormMode.InsertDataState:
                        v_us.Insert();
                        break;
                    default:
                        break;
                }
            }
            catch (Exception)
            {

                MessageBox.Show("Lỗi lương cứng");
            }
        }
 private void load_data_luong_cung(int id_nhan_vien)
 {
     US_GD_LUONG_CUNG v_us = new US_GD_LUONG_CUNG();
     m_dat_ngay_bat_dau_luong_cung.Value = v_us.datNGAY_BAT_DAU;
     m_dat_ngay_ket_thuc_luong_cung.Value = v_us.datNGAY_KET_THUC;
     m_txt_ghi_chu.Text = v_us.strGHI_CHU;
     m_txt_so_tien.Text = v_us.dcSO_TIEN.ToString();
 }