Ejemplo n.º 1
0
        /// <summary>
        /// 答问卷,分配参数
        /// </summary>
        /// <param name="model"></param>
        /// <param name="joinLink"></param>
        /// <returns></returns>
        public bool JoinSurvey(M_ProjectJoin model, out string joinLink)
        {
            /*
             * 参与流程
             * 1.分配参数
             * 2.更新参数
             * 3.添加参与记录
             * 4.更新抽样
             */
            lock (_lock)
            {
                var res = false;
                joinLink = "";

                //获取一个未使用的参数
                string         query      = "select top 1 * from dbo.ProjectPara where [ProjectID]=@ProjectID and [ParaUse]=@ParaUse Order By ID";
                SqlParameter[] parameters =
                {
                    new SqlParameter("@ProjectID", model.ProjectId),
                    new SqlParameter("@ParaUse",   "0"),
                };
                var dt       = DbHelperSQL.Query(query.ToString(), parameters).Tables[0];
                var paraInfo = CommonTool.DataTableConvertToModel <M_ProjectPara>(dt);
                if (paraInfo == null)
                {
                    joinLink = "参数已分配完";
                    return(res);
                }

                //更新参数使用状态
                string         update1     = "update dbo.ProjectPara set [ParaUse]=@ParaUseNew where ID=@ID and ParaUse=@ParaUseOld";
                SqlParameter[] parameters1 =
                {
                    new SqlParameter("@ParaUseNew", "1"),
                    new SqlParameter("@ID",         paraInfo.ID),
                    new SqlParameter("@ParaUseOld", "0"),
                };

                //添加参与记录
                string         add1        = "insert into ProjectJoin(ProjectId,MemberId,JoinTime,Integral,State,ParaID,JoinType,IsJoin,ReturnTime,IsCheck) values (@ProjectId,@MemberId,@JoinTime,@Integral,@State,@ParaID,@JoinType,@IsJoin,@ReturnTime,@IsCheck);";
                SqlParameter[] parameters2 =
                {
                    new SqlParameter("@ProjectId",  model.ProjectId),
                    new SqlParameter("@MemberId",   model.MemberId),
                    new SqlParameter("@JoinTime",   model.JoinTime),
                    new SqlParameter("@Integral",   model.Integral),
                    new SqlParameter("@State",      model.State),
                    new SqlParameter("@ParaID",     paraInfo.ID),
                    new SqlParameter("@JoinType",   model.JoinType),
                    new SqlParameter("@IsJoin",     model.IsJoin),
                    new SqlParameter("@ReturnTime", model.ReturnTime),
                    new SqlParameter("@IsCheck",    model.IsCheck),
                };

                //更新抽样信息
                string         update2     = "update dbo.ProjectSample set [ParaID]=@ParaID,[IsJoin]=@IsJoin where [ProjectID]=@ProjectID and [MemberID]=@MemberID";
                SqlParameter[] parameters3 =
                {
                    new SqlParameter("@ParaID",    paraInfo.ID),
                    new SqlParameter("@IsJoin",                  1),
                    new SqlParameter("@ProjectID", model.ProjectId),
                    new SqlParameter("@MemberID",  model.MemberId),
                };

                List <string>         sqlList = new List <string>();
                List <SqlParameter[]> spaList = new List <SqlParameter[]>();
                sqlList.AddRange(new string[] { update1, add1, update2 });
                spaList.AddRange(new List <SqlParameter[]> {
                    parameters1, parameters2, parameters3
                });

                var msg = "";
                var num = DbHelperSQL.ExecuteSqlTran(sqlList, spaList, out msg);
                if (num > 0)
                {
                    res      = true;
                    joinLink = paraInfo.ParaS;
                }
                else
                {
                    joinLink = msg;
                }
                return(res);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 参与项目
        /// </summary>
        /// <returns></returns>
        public string JoinSurvey()
        {
            if (Session["userId"] == null)
            {
                return(Json("-1", "登录超时,请重新登录!"));
            }
            var id = Request["id"] ?? "0";

            if (CommonTool.IsNumber(id))
            {
                //是否参与过项目
                B_Project b_Project = new B_Project();
                var       m_pjoin   = b_Project.GetProjectJoinModel(id, Session["userId"] + "");
                if (m_pjoin != null)//重新参与
                {
                    if (m_pjoin.State > 0)
                    {
                        return(Json("0", "您已参与过本次调查"));
                    }
                    else
                    {
                        var paraInfo = b_Project.GetProjectParaModel(m_pjoin.ParaID ?? 0);
                        if (paraInfo == null)
                        {
                            return(Json("0", "参数不存在"));
                        }
                        else
                        {
                            return(Json("1", "[{\"link\":\"" + paraInfo.ParaS + "\"}]", "问卷继续跳转"));
                        }
                    }
                }
                else
                {
                    //新参与的
                    m_pjoin = new M_ProjectJoin();
                    string joinLink = "";
                    m_pjoin.MemberId   = Convert.ToInt32(Session["userId"]);
                    m_pjoin.ProjectId  = Convert.ToInt32(id);
                    m_pjoin.JoinTime   = DateTime.Now;
                    m_pjoin.Integral   = 0;
                    m_pjoin.State      = 0;
                    m_pjoin.ParaID     = 0;//事务分配
                    m_pjoin.JoinType   = 1;
                    m_pjoin.IsJoin     = true;
                    m_pjoin.ReturnTime = DateTime.Parse("1900-01-01");
                    m_pjoin.IsCheck    = false;
                    var res = b_Project.JoinSurvey(m_pjoin, out joinLink);
                    if (res && !string.IsNullOrEmpty(joinLink))
                    {
                        return(Json("1", "[{\"link\":\"" + joinLink + "\"}]", "问卷跳转"));
                    }
                    else
                    {
                        return(Json("0", "参与问卷失败!", joinLink));
                    }
                }
            }
            else
            {
                return(Json("0", "调查ID有误!"));
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 参与问卷
 /// </summary>
 /// <param name="model"></param>
 /// <param name="joinLink"></param>
 /// <returns></returns>
 public bool JoinSurvey(M_ProjectJoin model, out string joinLink)
 {
     return(da.JoinSurvey(model, out joinLink));
 }