protected void m_cmd_luu_du_lieu_Click(object sender, EventArgs e)
    {
        try
        {
            if (hdf_check_click_kiem_tra_so_hd.Value == "")
            {
                string someScript;
                someScript = "<script language='javascript'>alert('Bạn chưa kiểm tra lại số hợp đồng. Nhấn nút Kiểm tra để thực hiện việc đó.');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck", someScript);
                return;
            }
            if (!check_exist_so_hop_dong(m_txt_so_hop_dong.Text.Trim()))
            {
                string Script;
                Script = "<script language='javascript'>alert('Số hợp đồng không tồn tại trong hệ thống. Hãy kiểm tra lại số hợp đồng!');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck1", Script);
                //m_lbl_mess.Text = "";
                return;
            }
            // Check trùng số hợp đồng
            if (!check_trung_hop_dong(m_txt_so_hop_dong.Text.Trim()))
            {
                string Script;
                Script = "<script language='javascript'>alert('Tồn tại số hợp đồng trùng với số hợp đồng này. Hãy xử lý trước khi lên bảng kê cho hợp đồng này!');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck1", Script);
                return;
            }

            decimal v_dc_id_hop_dong_khung = get_id_hd_khung_by_so_hd(m_txt_so_hop_dong.Text.Trim());
            if (!check_thanh_ly(v_dc_id_hop_dong_khung))
            {
                string someScript;
                someScript = "<script language='javascript'>{ alert('Hợp đồng này đã được thanh lý!'); window.close(); }</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck0", someScript);
                return;
            }
            // Kiểm tra đơn vị thanh toán
            decimal v_dc_id_dv_tt = get_id_don_vi_thanh_toan_by_id_dot_tt(CIPConvert.ToDecimal(m_cbo_dot_thanh_toan.SelectedValue));
            if (!check_hop_dong_ung_voi_dv_thanh_toan(v_dc_id_dv_tt, v_dc_id_hop_dong_khung))
            {
                string Script;
                Script = "<script language='javascript'>alert('Hợp đồng này không do " + get_ten_dv_thanh_toan(v_dc_id_dv_tt) + " thanh toán');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck3", Script);
                //m_lbl_mess.Text = "";
                return;
            }
            // Nếu là thanh lý thì yêu cầu nhập nghiệm thu thực tế
            if (rdl_noi_dung_list.Items[0].Selected == true)
            {
                if (m_txt_gia_tri_nghiem_thu_thuc_te.Text.Trim().Equals(""))
                {
                    string soScript;
                    soScript = "<script language='javascript'>alert('Đây là lần thanh lý hợp đồng. Xin hãy nhập tổng giá trị nghiệm thu thực tế');</script>";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck2", soScript);
                    return;
                }
            }
            else
            {
                // Nếu là tạm ứng thì yêu cầu nhập đợt tạm ứng lớn hơn 1 đơn vị đợt đã tạm ứng
                int v_i_so_lan_tam_ung = get_so_lan_tam_ung(v_dc_id_hop_dong_khung);
                // Nếu chưa có tạm ứng
                if (v_i_so_lan_tam_ung == 0)
                {
                    // Nếu chưa có tạm ứng mà chọn đợt >=2
                    if (int.Parse(m_cbo_lan_so.SelectedValue) > v_i_so_lan_tam_ung + 1)
                    {
                        string soScript;
                        soScript = "<script language='javascript'>alert('Hợp đồng này chưa được tạm ứng. Chọn đợt tạm ứng là 1');</script>";
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck4", soScript);
                        m_cbo_lan_so.SelectedValue = CIPConvert.ToStr(1);
                        return;
                    }
                }
                // Nếu đã có tạm ứng
                else
                {
                    // đợt tạm ứng chọn ko phù hợp
                    if (int.Parse(m_cbo_lan_so.SelectedValue) <= v_i_so_lan_tam_ung || int.Parse(m_cbo_lan_so.SelectedValue) > v_i_so_lan_tam_ung + 1)
                    {
                        string soScript;
                        soScript = "<script language='javascript'>alert('Hợp đồng này đã được tạm ứng " + v_i_so_lan_tam_ung + " lần. Hãy chọn đợt tạm ứng là " + (v_i_so_lan_tam_ung + 1) + "');</script>";
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck5", soScript);
                        m_cbo_lan_so.SelectedValue = CIPConvert.ToStr(v_i_so_lan_tam_ung + 1);
                        return;
                    }
                }
            }
            if (!check_nghiem_thu_va_thanh_toan(v_dc_id_hop_dong_khung))
            {
                string soScript;
                soScript = "<script language='javascript'>alert('Giá trị nghiệm thu thực tế và tổng tiền thanh toán phải bằng nhau');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck2", soScript);
                //m_lbl_mess.Text = "";
                return;
            }
            form_2_us_obj(m_us_v_gd_thanh_toan);
            m_us_v_gd_thanh_toan.Insert();
            load_data_2_grid(get_ma_dot_tt_by_id_dot(CIPConvert.ToDecimal(m_cbo_dot_thanh_toan.SelectedValue)));
            reset_controls();
            m_lbl_thong_bao.Text = "Thêm bản ghi thành công!";
            hdf_check_click_kiem_tra_so_hd.Value = "";
        }
        catch (Exception v_e)
        {
            CSystemLog_301.ExceptionHandle(this, v_e);
        }
    }
    protected void m_cmd_luu_du_lieu_Click(object sender, EventArgs e)
    {
        try
        {
            //if (hdf_check_click_kiem_tra_so_hd.Value == null)
            //{
            //    string someScript;
            //    someScript = "<script language='javascript'>alert('Bạn chưa kiểm tra lại số hợp đồng. Nhấn nút Kiểm tra HĐ để thực hiện việc đó.');</script>";
            //    Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", someScript);
            //    return;
            //}
            //// check bấm kiểm tra mã lớp môn
            //if (hdf_check_click_kiem_tra_lop_mon.Value == null)
            //{
            //    string someScript;
            //    someScript = "<script language='javascript'>alert('Bạn chưa kiểm tra lại lớp môn. Nhấn nút Kiểm tra LM để thực hiện việc đó.');</script>";
            //    Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", someScript);
            //    return;
            //}
            // Kiểm tra tồn tại hợp đồng
            if (!check_exist_so_hop_dong(m_txt_so_hop_dong.Text.Trim()))
            {
                string Script;
                Script = "<script language='javascript'>alert('Số hợp đồng không tồn tại trong hệ thống');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", Script);
                //m_lbl_mess.Text = "";
                return;
            }
            //// Kiểm tra tồn tại mã lớp môn
            //if (!check_exist_ma_mon(m_txt_ma_lop_mon.Text.Trim()))
            //{
            //    string script;
            //    script = "<script language='javascript'>alert('Lớp môn này không tồn tại trong hệ thống')</script>";
            //    Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheckmalop", script);
            //    return;
            //}

            decimal ip_dc_d_hop_dong = get_id_hd_khung_by_so_hd(m_txt_so_hop_dong.Text.Trim());

            // Kiểm tra hợp đồng khung và lớp môn là 1 cặp
            //if (!check_tuong_ung_lop_mon_hop_dong(ip_dc_d_hop_dong, m_txt_ma_lop_mon.Text.Trim()))
            //{
            //    string scriptalert;
            //    scriptalert = "<script language='javascript'>alert('Lớp môn và hợp đồng không tương ứng với nhau')</script>";
            //    Page.ClientScript.RegisterStartupScript(this.GetType(), "onchecktuongung", scriptalert);
            //    return;
            //}

            // Check trùng số hợp đồng
            if (!check_trung_hop_dong(m_txt_so_hop_dong.Text.Trim()))
            {
                string Script;
                Script = "<script language='javascript'>alert('Tồn tại số hợp đồng trùng với số hợp đồng này. Hãy xử lý trước khi lên bảng kê cho hợp đồng này!');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck1", Script);
                return;
            }

            // Check hợp đồng do bên đv thanh toán này thanh toán
            decimal v_dc_id_dv_tt = get_id_don_vi_thanh_toan_by_id_dot_tt(CIPConvert.ToDecimal(m_cbo_dot_thanh_toan.SelectedValue));
            if (!check_hop_dong_ung_voi_dv_thanh_toan(v_dc_id_dv_tt, get_id_hd_khung_by_so_hd(m_txt_so_hop_dong.Text.Trim())))
            {
                string Script;
                Script = "<script language='javascript'>alert('Hợp đồng này không do " + get_ten_dv_thanh_toan(v_dc_id_dv_tt) + " thanh toán');</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "oncheck1", Script);
                return;
            }
            form_2_us_obj(m_us_v_gd_thanh_toan);
            m_us_v_gd_thanh_toan.Insert();
            load_data_2_grid(get_ma_dot_tt_by_id_dot(CIPConvert.ToDecimal(m_cbo_dot_thanh_toan.SelectedValue)));
            m_lbl_thong_bao.Text = "Thêm bản ghi thành công";
            reset_controls();
        }
        catch (Exception v_e)
        {
            CSystemLog_301.ExceptionHandle(this, v_e);
        }
    }