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;
                }
            }
        }