private void us_object_to_form()
        {
            m_us = new US_GD_CHI_TIET_GIAO_KH(CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value));
            //US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us_du_an_cong_trinh = new US_DM_CONG_TRINH_DU_AN_GOI_THAU(m_us.dcID_DU_AN_CONG_TRINH);
            m_ddl_chuong.SelectedValue = m_us.dcID_CHUONG.ToString();
            US_DM_CHUONG_LOAI_KHOAN_MUC v_us_khoan = new US_DM_CHUONG_LOAI_KHOAN_MUC(m_us.dcID_KHOAN);
            m_ddl_loai.SelectedValue = v_us_khoan.dcID_CHA.ToString();
            load_data_to_ddl_khoan();
            m_ddl_khoan.SelectedValue = m_us.dcID_KHOAN.ToString();
            m_ddl_muc.SelectedValue = m_us.dcID_MUC.ToString();
            load_data_to_ddl_tieu_muc();
            if (!m_us.IsID_TIEU_MUCNull())
            {
                m_ddl_tieu_muc.SelectedValue = m_us.dcID_TIEU_MUC.ToString();
            }
            m_txt_so_tien.Text = m_us.dcSO_TIEN_NS.ToString();
            m_txt_ghi_chu.Text = m_us.strGHI_CHU;

            //if (m_us.dcID_LOAI_GIAO_DICH == ID_LOAI_GIAO_DICH.KH_DAU_NAM)
            //{
            //	m_rdb_kh_dau_nam.Checked = true;
            //	m_rdb_dieu_chinh.Checked = false;
            //	m_rdb_bo_sung.Checked = false;
            //}
            //else if (m_us.dcID_LOAI_GIAO_DICH == ID_LOAI_GIAO_DICH.BO_SUNG)
            //{
            //	m_rdb_kh_dau_nam.Checked = false;
            //	m_rdb_dieu_chinh.Checked = false;
            //	m_rdb_bo_sung.Checked = true;
            //}
            //else
            //{
            //	m_rdb_kh_dau_nam.Checked = false;
            //	m_rdb_dieu_chinh.Checked = true;
            //	m_rdb_bo_sung.Checked = false;
            //}

            //set quyet dinh
            US_DM_QUYET_DINH v_us_quyet_dinh = new US_DM_QUYET_DINH(m_us.dcID_QUYET_DINH);
            m_txt_so_qd.Text = v_us_quyet_dinh.strSO_QUYET_DINH;
            m_txt_noi_dung.Text = v_us_quyet_dinh.strNOI_DUNG;
            m_txt_ngay_thang.Text = CIPConvert.ToStr(v_us_quyet_dinh.datNGAY_THANG, "dd/MM/yyyy");
            m_hdf_id_quyet_dinh.Value = v_us_quyet_dinh.dcID.ToString();

            disable_edit_quyet_dinh();
        }
        private void form_to_us_object()
        {
            switch (get_form_mode(m_hdf_form_mode))
            {
                case LOAI_FORM.SUA:
                    m_us.dcID = CIPConvert.ToDecimal(this.m_hdf_id_giao_kh.Value);
                    break;
                case LOAI_FORM.THEM:
                    m_us = new US_GD_CHI_TIET_GIAO_KH();
                    break;
            }

            //if (m_rdb_kh_dau_nam.Checked == true) m_us.dcID_LOAI_GIAO_DICH = ID_LOAI_GIAO_DICH.KH_DAU_NAM;
            //else if (m_rdb_dieu_chinh.Checked == true) m_us.dcID_LOAI_GIAO_DICH = ID_LOAI_GIAO_DICH.DIEU_CHINH;
            //else if (m_rdb_bo_sung.Checked == true) m_us.dcID_LOAI_GIAO_DICH = ID_LOAI_GIAO_DICH.BO_SUNG;
            //m_us.strIS_NGUON_NS_YN = "Y";//Nguon mac dinh la Ngan sach
            m_us.dcSO_TIEN_NS = CIPConvert.ToDecimal(m_txt_so_tien.Text.Trim());
            m_us.dcSO_TIEN_QUY_BT = CIPConvert.ToDecimal(m_txt_so_tien.Text.Trim());

            m_us.dcID_QUYET_DINH = CIPConvert.ToDecimal(m_hdf_id_quyet_dinh.Value);
            m_us.dcID_CHUONG = CIPConvert.ToDecimal(m_ddl_chuong.SelectedValue);
            m_us.dcID_KHOAN = CIPConvert.ToDecimal(m_ddl_khoan.SelectedValue);
            m_us.dcID_MUC = CIPConvert.ToDecimal(m_ddl_muc.SelectedValue);
            if (m_ddl_tieu_muc.SelectedValue == "-1")
            {
                m_us.SetID_TIEU_MUCNull();
            }
            else m_us.dcID_TIEU_MUC = CIPConvert.ToDecimal(m_ddl_tieu_muc.SelectedValue);
            m_us.strGHI_CHU = m_txt_ghi_chu.Text.Trim();
            m_us.dcID_DON_VI = Person.get_id_don_vi();
        }
        private bool form_to_us_object()
        {
            switch (get_form_mode(m_hdf_form_mode))
            {
                case LOAI_FORM.SUA:
                    m_us.dcID = CIPConvert.ToDecimal(this.m_hdf_id_giao_kh.Value);
                    break;
                case LOAI_FORM.THEM:
                    m_us = new US_GD_CHI_TIET_GIAO_KH();
                    break;
            }

            m_us.strGHI_CHU_2 = m_txt_so_km.Text.Replace(",", "").Replace(".", "").Trim();//ghi vao ghi chu 2

            m_us.dcID_LOAI_NHIEM_VU = CIPConvert.ToDecimal(m_ddl_loai_nhiem_vu.SelectedValue);
            //neu form mode la Quy BT thi so_tien_ns=0
            if (Request.QueryString["ip_nguon_ns"] == "N")
            {
                m_us.dcSO_TIEN_NS = 0;
                m_us.dcSO_TIEN_QUY_BT = CIPConvert.ToDecimal(m_txt_so_tien.Text.Replace(",", "").Replace(".", "").Trim());
            }
            else
            {
                m_us.dcSO_TIEN_QUY_BT = 0;
                m_us.dcSO_TIEN_NS = CIPConvert.ToDecimal(m_txt_so_tien.Text.Trim());
            }
            m_us.dcSO_TIEN_NAM_TRUOC_CHUYEN_SANG = CIPConvert.ToDecimal(m_txt_so_tien_nam_truoc_chuyen_sang.Text.Replace(",", "").Replace(".", "").Trim());
            //m_us.strTEN_DU_AN = m_txt_noi_dung_chi.Text.Trim();
            m_us.strGHI_CHU = m_txt_ghi_chu.Text; ;

            m_us.dcID_QUYET_DINH = CIPConvert.ToDecimal(m_hdf_id_quyet_dinh.Value);
            m_us.dcID_DON_VI = Person.get_id_don_vi();

            if (m_pnl_chuong_loai_khoan_muc.Visible == true)
            {
                m_us.dcID_CHUONG = CIPConvert.ToDecimal(m_ddl_chuong.SelectedValue);
                m_us.dcID_KHOAN = CIPConvert.ToDecimal(m_ddl_khoan.SelectedValue);
                m_us.dcID_MUC = CIPConvert.ToDecimal(m_ddl_muc.SelectedValue);
                m_us.dcID_TIEU_MUC = CIPConvert.ToDecimal(m_ddl_tieu_muc.SelectedValue);
                if (m_us.dcID_TIEU_MUC == -1)
                {
                    m_us.SetID_TIEU_MUCNull();
                }
                m_us.SetID_CONG_TRINHNull();
                m_us.SetID_DU_ANNull();
                m_us.strGHI_CHU_1 = m_txt_noi_dung_du_toan.Text.Trim();
                if (m_rdb_chi_thuong_xuyen.Checked == true)
                {
                    m_us.strTU_CHU_YN = "Y";
                }
                else m_us.strTU_CHU_YN = "N";
            }
            else
            {
                m_us.SetID_CHUONGNull();
                m_us.SetID_KHOANNull();
                m_us.SetID_MUCNull();
                m_us.SetID_TIEU_MUCNull();
                m_us.dcID_CONG_TRINH = insert_cong_trinh();
                if (m_us.dcID_CONG_TRINH == -1)//insert cong trinh bi loi
                {
                    m_lbl_mess_detail.Text = "Đã có lỗi trong quá trình thực hiện. Bạn vui lòng thực hiện lại thao tác!";
                    return false;
                }
                else
                {
                    m_us.dcID_DU_AN = insert_du_an(m_us.dcID_CONG_TRINH);
                }
            }
            return true;
        }
        protected void m_grv_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Sua")
                {
                    m_lbl_mess_grid.Text = "";
                    xoa_trang();
                    //format button by form mode - update
                    m_cmd_update.Visible = true;
                    m_cmd_insert.Visible = false;

                    //set select row in gridview
                    GridViewRow gvr = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
                    m_grv.SelectedIndex = gvr.RowIndex;

                    m_hdf_id_giao_kh.Value = CIPConvert.ToStr(e.CommandArgument);
                    m_us = new US_GD_CHI_TIET_GIAO_KH(CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value));

                    //m_grv.SelectedIndex = m_grv.SelectedRow.RowIndex;
                    set_form_mode(LOAI_FORM.SUA);
                    //reset control

                    us_object_to_form();
                }
                else if (e.CommandName == "Xoa")
                {
                    m_lbl_mess_grid.Text = "";
                    set_form_mode(LOAI_FORM.XOA);
                    m_hdf_id_giao_kh.Value = CIPConvert.ToStr(e.CommandArgument);
                    if (!check_validate_data_gd_is_ok()) return;
                    delete_gd_chi_tiet_giao_kh_by_ID();
                }
            }
            catch (Exception v_e)
            {
                m_lbl_mess_grid.Text = v_e.ToString();
            }
        }
        private void us_object_to_form()
        {
            m_us = new US_GD_CHI_TIET_GIAO_KH(CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value));

            if (!m_us.IsTU_CHU_YNNull())
            {
                if (m_us.strTU_CHU_YN == "Y")
                {
                    m_rdb_chi_thuong_xuyen.Checked = true;
                    m_rdb_chi_khong_thuong_xuyen.Checked = false;
                }
                else
                {
                    m_rdb_chi_thuong_xuyen.Checked = false;
                    m_rdb_chi_khong_thuong_xuyen.Checked = true;
                }
            }

            m_txt_so_km.Text = m_us.strGHI_CHU_2;

            if (Request.QueryString["ip_nguon_ns"] == "N")
            {
                m_txt_so_tien.Text = CIPConvert.ToStr(m_us.dcSO_TIEN_QUY_BT);
            }
            else
            {
                m_txt_so_tien.Text = CIPConvert.ToStr(m_us.dcSO_TIEN_NS);
            }

            m_txt_so_tien_nam_truoc_chuyen_sang.Text = CIPConvert.ToStr(m_us.dcSO_TIEN_NAM_TRUOC_CHUYEN_SANG);
            m_txt_ghi_chu.Text = m_us.strGHI_CHU;
            //m_txt_ten_quoc_lo.Text = v_us_du_an_cong_trinh.strTEN_DU_AN_CONG_TRINH.Replace("Quốc lộ ","");
            if (!m_us.IsID_CONG_TRINHNull())
            {
                m_rdb_theo_quoc_lo.Checked = true;
                m_rdb_theo_chuong_loai_khoan_muc.Checked = false;

                m_rdb_theo_quoc_lo_CheckedChanged(null, null);

                US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us_du_an = new US_DM_CONG_TRINH_DU_AN_GOI_THAU(m_us.dcID_DU_AN);
                US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us_cong_trinh = new US_DM_CONG_TRINH_DU_AN_GOI_THAU(v_us_du_an.dcID_CHA);
                //set cong trinh
                m_ddl_cong_trinh.SelectedValue = v_us_du_an.dcID_CHA.ToString();
                m_ddl_cong_trinh_SelectedIndexChanged(null, null);
                m_txt_quoc_lo.Text = v_us_cong_trinh.strTEN;
                m_ddl_cong_trinh.Visible = true;
                m_txt_quoc_lo.Visible = false;
                m_cmd_chon_quoc_lo.Visible = false;
                m_cmd_them_quoc_lo.Visible = true;
                //set du an
                m_txt_du_an.Text = v_us_du_an.strTEN;
                m_txt_du_an.Visible = false;
                m_ddl_du_an.Visible = true;
                m_cmd_chon_du_an.Visible = false;
                m_cmd_them_du_an.Visible = true;
                m_ddl_du_an.SelectedValue = v_us_du_an.dcID.ToString();
                m_rdb_theo_chuong_loai_khoan_muc.Checked = false;
                m_rdb_theo_quoc_lo.Checked = true;
            }
            else
            {
                m_rdb_theo_quoc_lo.Checked = false;
                m_rdb_theo_chuong_loai_khoan_muc.Checked = true;

                m_rdb_theo_chuong_loai_khoan_muc_CheckedChanged(null, null);
                m_ddl_chuong.SelectedValue = m_us.dcID_CHUONG.ToString();
                US_DM_CHUONG_LOAI_KHOAN_MUC v_us_khoan = new US_DM_CHUONG_LOAI_KHOAN_MUC(m_us.dcID_KHOAN);
                m_ddl_loai.SelectedValue = v_us_khoan.dcID_CHA.ToString();
                m_ddl_loai_SelectedIndexChanged(null, null);
                m_ddl_khoan.SelectedValue = m_us.dcID_KHOAN.ToString();
                m_ddl_muc.SelectedValue = m_us.dcID_MUC.ToString();
                m_ddl_muc_SelectedIndexChanged(null, null);
                if (!m_us.IsID_TIEU_MUCNull())
                {
                    m_ddl_tieu_muc.SelectedValue = m_us.dcID_TIEU_MUC.ToString();
                }
                m_rdb_theo_chuong_loai_khoan_muc.Checked = true;
                m_rdb_theo_quoc_lo.Checked = false;
            }
            m_ddl_loai_nhiem_vu.Focus();
            m_ddl_loai_nhiem_vu.SelectedValue = m_us.dcID_LOAI_NHIEM_VU.ToString();
            load_panel_loai_chi();
            m_txt_noi_dung_du_toan.Text = m_us.strGHI_CHU_1;

            //set quyet dinh
            US_DM_QUYET_DINH v_us_quyet_dinh = new US_DM_QUYET_DINH(m_us.dcID_QUYET_DINH);
            m_txt_so_qd.Text = v_us_quyet_dinh.strSO_QUYET_DINH;
            m_txt_noi_dung.Text = v_us_quyet_dinh.strNOI_DUNG;
            //m_txt_ngay_thang.Text = CIPConvert.ToStr(v_us_quyet_dinh.datNGAY_THANG, "dd/MM/yyyy");
            m_lbl_ngay_thang.Text = CIPConvert.ToStr(v_us_quyet_dinh.datNGAY_THANG, "dd/MM/yyyy");
            m_hdf_id_quyet_dinh.Value = v_us_quyet_dinh.dcID.ToString();

            disable_edit_quyet_dinh();
        }
        private void save_data()
        {
            m_lbl_mess_detail.Text = "";
            m_lbl_mess_detail.Visible = true;
            m_lbl_mess_ghi_du_lieu.Text = "";
            if (!check_validate_data_gd_is_ok()) return;
            if (!form_to_us_object()) return;

            switch (get_form_mode(m_hdf_form_mode))
            {
                case LOAI_FORM.THEM:
                    m_us.Insert();
                    m_lbl_mess_ghi_du_lieu.Text = "Bạn đã ghi dữ liệu thành công!";
                    break;
                case LOAI_FORM.SUA:
                    try
                    {
                        //m_us.BeginTransaction();

                        US_DM_QUYET_DINH v_us_quyet_dinh = new US_DM_QUYET_DINH(CIPConvert.ToDecimal(m_hdf_id_quyet_dinh.Value));
                        US_GD_CHI_TIET_GIAO_KH v_us_ten_cu = new US_GD_CHI_TIET_GIAO_KH(CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value));
                        //m_us.update_ten_du_an_giao_kh_to_giao_von_va_unc(Person.get_id_don_vi()
                        //	, v_us_ten_cu.dcID_LOAI_NHIEM_VU
                        //	, v_us_ten_cu.dcID_DU_AN_CONG_TRINH
                        //	, v_us_ten_cu.strTEN_DU_AN
                        //	, m_us.strTEN_DU_AN
                        //	, WinFormControls.get_dau_nam_form_date(v_us_quyet_dinh.datNGAY_THANG)
                        //	, WinFormControls.get_cuoi_nam_form_date(v_us_quyet_dinh.datNGAY_THANG));
                        m_us.Update();
                        m_lbl_mess_ghi_du_lieu.Text = "Bạn đã cập nhật dữ liệu thành công!";
                        //m_us.CommitTransaction();
                    }
                    catch (Exception)
                    {
                        //m_us.Rollback();
                        m_lbl_mess_ghi_du_lieu.Text = "Quá trình cập nhật xảy ra lỗi, bạn vui lòng thực hiện lại thao tác!";
                    }
                    break;
            }
            xoa_trang();
            //m_ddl_du_an.SelectedValue = "-1";
            load_data_to_grid();
        }