private decimal insert_du_an(decimal ip_dc_id_cong_trinh)
        {
            decimal v_dc_id_du_an = -1;
            //Kiem tra xem nguoi dung dang Chon du an hay dang nhap du an
            if (m_ddl_du_an.Visible == true)
            {
                //kiem tra xem du an da chon co cha la cong trinh khong
                //neu khong phai, ta phai them 1 du an moi
                US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us_du_an = new US_DM_CONG_TRINH_DU_AN_GOI_THAU(CIPConvert.ToDecimal(m_ddl_du_an.SelectedValue));
                if (v_us_du_an.dcID_CHA != ip_dc_id_cong_trinh)
                {
                    v_us_du_an.dcID_CHA = ip_dc_id_cong_trinh;
                    v_us_du_an.Insert();
                    return v_us_du_an.dcID;
                }
                else return CIPConvert.ToDecimal(m_ddl_du_an.SelectedValue);
            }
            else //neu nguoi dung dang Nhap 1 du an moi thi ta phai insert 1 du an moi
            {
                try
                {
                    //1. kiểm tra xem đã có dự án trong bảng DM_CONG_TRINH_DU_AN_GOI_THAU chưa
                    US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us = new US_DM_CONG_TRINH_DU_AN_GOI_THAU();
                    DS_DM_CONG_TRINH_DU_AN_GOI_THAU v_ds = new DS_DM_CONG_TRINH_DU_AN_GOI_THAU();
                    v_us.FillDataset(v_ds, "where " + DM_CONG_TRINH_DU_AN_GOI_THAU.TEN + "= N'" + m_txt_du_an.Text.Trim() + "'" +
                        "and " + DM_CONG_TRINH_DU_AN_GOI_THAU.ID_LOAI + "=" + ID_LOAI_CONG_TRINH_DU_AN_GOI_THAU.DU_AN +
                        "and " + DM_CONG_TRINH_DU_AN_GOI_THAU.ID_CHA + "=" + ip_dc_id_cong_trinh);
                    //1.1 Nếu có rồi thì không thêm nữa
                    if (v_ds.DM_CONG_TRINH_DU_AN_GOI_THAU.Count > 0)
                    {
                        v_us = new US_DM_CONG_TRINH_DU_AN_GOI_THAU(CIPConvert.ToDecimal(v_ds.Tables[0].Rows[0][DM_CONG_TRINH_DU_AN_GOI_THAU.ID]));
                    }
                    else
                    {
                        //1.2 Nếu chưa có thì thêm mới
                        v_us.dcID_DON_VI = Person.get_id_don_vi();
                        v_us.strTEN = m_txt_du_an.Text.Trim();
                        v_us.dcID_LOAI = ID_LOAI_CONG_TRINH_DU_AN_GOI_THAU.DU_AN;
                        v_us.dcID_CHA = ip_dc_id_cong_trinh;
                        v_us.Insert();
                    }
                    v_dc_id_du_an = v_us.dcID;
                    return v_dc_id_du_an;

                }
                catch (Exception)
                {
                    return v_dc_id_du_an;
                }
            }
        }
 public static void load_data_to_cbo_du_an_cong_trinh_from_giao_von2(decimal ip_dc_id_loai_du_an, decimal ip_dc_id_cha
     , DropDownList op_ddl_quyet_dinh)
 {
     DS_DM_CONG_TRINH_DU_AN_GOI_THAU v_ds = new DS_DM_CONG_TRINH_DU_AN_GOI_THAU();
     US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us = new US_DM_CONG_TRINH_DU_AN_GOI_THAU();
     decimal v_dc_id_don_vi = Person.get_id_don_vi();
     string v_str_data_default = "---Chọn dự án---";
     v_ds.EnforceConstraints = false;
     if (ip_dc_id_loai_du_an != -1)
     {
         v_str_data_default = "---Chọn dự án---";
         v_us.FillDataset(v_ds, " WHERE ID_LOAI = " + ip_dc_id_loai_du_an + " AND ID_CHA = " + ip_dc_id_cha + " order by " + DM_CONG_TRINH_DU_AN_GOI_THAU.TEN);
     }
     //else {
     //	v_str_data_default = "---Chọn dự án---";
     //	v_us.FillDataset(v_ds, " WHERE ID_CHA = " + ip_dc_id_cha);
     //}
     op_ddl_quyet_dinh.DataTextField = DM_CONG_TRINH_DU_AN_GOI_THAU.TEN;
     op_ddl_quyet_dinh.DataValueField = DM_CONG_TRINH_DU_AN_GOI_THAU.ID;
     op_ddl_quyet_dinh.DataSource = v_ds.DM_CONG_TRINH_DU_AN_GOI_THAU;
     op_ddl_quyet_dinh.DataBind();
     op_ddl_quyet_dinh.Items.Insert(0, new ListItem(v_str_data_default, "-1"));
 }
 private decimal insert_cong_trinh()
 {
     decimal v_dc_id_cong_trinh = -1;
     //kiem tra xem nguoi dung dang Chon Cong trinh hay dang nhap
     //Neu dang chon -> lay ra id cong trinh
     if (m_ddl_cong_trinh.Visible == true)
     {
         return CIPConvert.ToDecimal(m_ddl_cong_trinh.SelectedValue);
     }
     else
     {
         //Neu dang nhap ->insert 1 cong trinh moi
         try
         {
             //0. khi chi nhap ten quoc lo vd: 1A thì lưu lại thành 'Quốc lộ 1A'
             if (m_txt_quoc_lo.Text.Trim().Length < 5)
             {
                 m_txt_quoc_lo.Text = "Quốc lộ " + m_txt_quoc_lo.Text.Trim();
             }
             //1. kiểm tra xem đã có tên quốc lộ trong bản DM_CONG_TRINH_DU_AN_GOI_THAU chưa
             US_DM_CONG_TRINH_DU_AN_GOI_THAU v_us = new US_DM_CONG_TRINH_DU_AN_GOI_THAU();
             DS_DM_CONG_TRINH_DU_AN_GOI_THAU v_ds = new DS_DM_CONG_TRINH_DU_AN_GOI_THAU();
             v_us.FillDataset(v_ds, "where " + DM_CONG_TRINH_DU_AN_GOI_THAU.TEN + "= N'" + m_txt_quoc_lo.Text + "'" +
                 "and " + DM_CONG_TRINH_DU_AN_GOI_THAU.ID_LOAI + "=" + ID_LOAI_CONG_TRINH_DU_AN_GOI_THAU.CONG_TRINH);
             //1.1 Nếu có rồi thì không thêm nữa
             if (v_ds.DM_CONG_TRINH_DU_AN_GOI_THAU.Count > 0)
             {
                 v_us = new US_DM_CONG_TRINH_DU_AN_GOI_THAU(CIPConvert.ToDecimal(v_ds.Tables[0].Rows[0][DM_CONG_TRINH_DU_AN_GOI_THAU.ID]));
             }
             else
             {
                 //1.2 Nếu chưa có thì thêm mới
                 v_us.dcID_DON_VI = Person.get_id_don_vi();
                 v_us.strTEN = m_txt_quoc_lo.Text.Trim();
                 v_us.SetID_CHANull();
                 v_us.dcID_LOAI = ID_LOAI_CONG_TRINH_DU_AN_GOI_THAU.CONG_TRINH;
                 v_us.Insert();
             }
             v_dc_id_cong_trinh = v_us.dcID;
             return v_dc_id_cong_trinh;
         }
         catch (Exception)
         {
             return v_dc_id_cong_trinh;
         }
     }
 }