예제 #1
0
        protected override EmptyResponseData ProcessRequest(APIRequest <DelScoreRecoveryRP> pRequest)
        {
            var rd   = new EmptyResponseData();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;


            var ScoreRecoveryInformationBLL = new T_QN_ScoreRecoveryInformationBLL(loggingSessionInfo);

            object[] ScoreRecoveryInformationIDs = new object[] { para.ScoreRecoveryInformationID };

            ScoreRecoveryInformationBLL.Delete(ScoreRecoveryInformationIDs);


            return(rd);
        }
예제 #2
0
        protected override SetScoreRecoveryRD ProcessRequest(APIRequest <SetScoreRecoveryRP> pRequest)
        {
            var rd   = new SetScoreRecoveryRD();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            T_QN_ScoreRecoveryInformationEntity model_ScoreRecoveryInformationEntity = null;



            var ScoreRecoveryBLL = new T_QN_ScoreRecoveryInformationBLL(loggingSessionInfo);

            if (para != null)
            {
                #region 验证分值段

                bool isok = true;
                T_QN_ScoreRecoveryInformationEntity[] ScoreRecoveryInformationEntitylist = ScoreRecoveryBLL.getList(para.QuestionnaireID);
                for (int i = 0; i < ScoreRecoveryInformationEntitylist.Length; i++)
                {
                    T_QN_ScoreRecoveryInformationEntity modelone = ScoreRecoveryInformationEntitylist[i];
                    if (!(para.ScoreRecoveryInformationID != null && modelone.ScoreRecoveryInformationID == para.ScoreRecoveryInformationID))
                    {
                        if ((para.MinScore + 1) > modelone.MinScore && (para.MinScore - 1) < modelone.MaxScore)
                        {
                            isok = false;
                            break;
                        }

                        if ((para.MaxScore + 1) > modelone.MinScore && (para.MaxScore - 1) < modelone.MaxScore)
                        {
                            isok = false;
                            break;
                        }

                        if (para.MinScore < modelone.MinScore && para.MaxScore > modelone.MaxScore)
                        {
                            isok = false;
                            break;
                        }
                    }
                }

                #endregion

                if (isok)
                {
                    model_ScoreRecoveryInformationEntity = new T_QN_ScoreRecoveryInformationEntity
                    {
                        MaxScore                   = para.MaxScore,
                        QuestionnaireID            = para.QuestionnaireID,
                        MinScore                   = para.MinScore,
                        CustomerID                 = loggingSessionInfo.ClientID,
                        RecoveryContent            = para.RecoveryContent,
                        RecoveryImg                = para.RecoveryImg,
                        RecoveryType               = para.RecoveryType,
                        ScoreRecoveryInformationID = para.ScoreRecoveryInformationID,
                        Status = 1
                    };



                    if (para.ScoreRecoveryInformationID != null && para.ScoreRecoveryInformationID.ToString() != "")
                    {
                        ScoreRecoveryBLL.Update(model_ScoreRecoveryInformationEntity);
                    }
                    else
                    {
                        ScoreRecoveryBLL.Create(model_ScoreRecoveryInformationEntity);
                    }

                    rd.ScoreRecoveryInformationID = model_ScoreRecoveryInformationEntity.ScoreRecoveryInformationID.Value;
                    rd.TesultValue = 0;
                }
                else
                {
                    rd.ScoreRecoveryInformationID = null;
                    rd.TesultValue = 1;
                }
            }

            return(rd);
        }
예제 #3
0
        protected override GetScoreRecoveryInformationRD ProcessRequest(APIRequest <GetQuestionnaireAnswerRecordRP> pRequest)
        {
            var rd   = new GetScoreRecoveryInformationRD();
            var para = pRequest.Parameters;
            T_QN_QuestionnaireAnswerRecordEntity model_QuestionnaireAnswerRecordEntity = null;


            var QuestionnaireAnswerRecordBLL = new T_QN_QuestionnaireAnswerRecordBLL(this.CurrentUserInfo);
            var QuestionnaireOptionCountBLL  = new T_QN_QuestionnaireOptionCountBLL(this.CurrentUserInfo);

            var ScoreRecoveryInformationBLL = new T_QN_ScoreRecoveryInformationBLL(this.CurrentUserInfo);


            if (para != null)
            {
                if (para.VipID == null || para.VipID == "")
                {
                    para.VipID = Guid.NewGuid().ToString();
                }
                var SumScore = 0;

                var createqoc = new List <T_QN_QuestionnaireOptionCountEntity>();
                var updateqoc = new List <T_QN_QuestionnaireOptionCountEntity>();
                var createqar = new List <T_QN_QuestionnaireAnswerRecordEntity>();

                for (int i = 0; i < para.QuestionnaireAnswerRecordlist.Count; i++)
                {
                    var qarl = para.QuestionnaireAnswerRecordlist[i];

                    string AnswerOptionIDs = "";

                    #region 答题选项统计
                    if (qarl.optionlist != null)
                    {
                        for (int j = 0; j < qarl.optionlist.Count; j++)
                        {
                            var option = qarl.optionlist[j];
                            if (!(option.OptionID == null || option.OptionID == "" || option.OptionName == null || option.OptionName == ""))
                            {
                                AnswerOptionIDs += option.OptionID + ",";
                                var model_qoce = QuestionnaireOptionCountBLL.isExist(option.OptionID, para.ActivityID);

                                if (model_qoce != null)
                                {
                                    model_qoce.SelectedCount += 1;
                                }
                                else
                                {
                                    model_qoce                   = new T_QN_QuestionnaireOptionCountEntity();
                                    model_qoce.CustomerID        = this.CurrentUserInfo.ClientID;
                                    model_qoce.ActivityID        = para.ActivityID;
                                    model_qoce.ActivityName      = para.ActivityName;
                                    model_qoce.QuestionID        = qarl.QuestionID;
                                    model_qoce.QuestionnaireID   = para.QuestionnaireID;
                                    model_qoce.QuestionnaireName = para.QuestionnaireName;
                                    model_qoce.QuestionName      = qarl.QuestionName;
                                    model_qoce.OptionID          = option.OptionID;
                                    model_qoce.OptionName        = option.OptionName;
                                    model_qoce.SelectedCount     = 1;
                                }


                                if (model_qoce.QuestionnaireOptionCountID == null)
                                {
                                    createqoc.Add(model_qoce);
                                }
                                else
                                {
                                    updateqoc.Add(model_qoce);
                                }
                            }
                        }
                    }

                    #endregion

                    #region 新增答题记录
                    model_QuestionnaireAnswerRecordEntity = new T_QN_QuestionnaireAnswerRecordEntity
                    {
                        CustomerID        = this.CurrentUserInfo.ClientID,
                        ActivityID        = para.ActivityID,
                        ActivityName      = para.ActivityName,
                        AnswerAddress     = qarl.AnswerAddress,
                        AnswerCity        = qarl.AnswerCity,
                        AnswerCounty      = qarl.AnswerCounty,
                        AnswerDate        = qarl.AnswerDate,
                        AnswerOption      = qarl.AnswerOption,
                        AnswerOptionId    = AnswerOptionIDs,
                        AnswerProvince    = qarl.AnswerProvince,
                        AnswerText        = qarl.AnswerText,
                        QuestionID        = qarl.QuestionID,
                        QuestionidType    = qarl.QuestionidType,
                        QuestionnaireID   = para.QuestionnaireID,
                        QuestionnaireName = para.QuestionnaireName,
                        QuestionName      = qarl.QuestionName,
                        QuestionScore     = qarl.QuestionScore,
                        VipID             = para.VipID,
                        Status            = 1
                    };
                    SumScore += qarl.SumScore;

                    createqar.Add(model_QuestionnaireAnswerRecordEntity);

                    #endregion
                }


                #region 新增答题记录和修改记录数
                var pTran = QuestionnaireAnswerRecordBLL.GetTran();

                using (pTran.Connection)
                {
                    try
                    {
                        for (int j = 0; j < createqoc.Count; j++)
                        {
                            QuestionnaireOptionCountBLL.Create(createqoc[j], pTran);
                        }

                        for (int j = 0; j < updateqoc.Count; j++)
                        {
                            QuestionnaireOptionCountBLL.Update(updateqoc[j], pTran);
                        }

                        for (int j = 0; j < createqar.Count; j++)
                        {
                            QuestionnaireAnswerRecordBLL.Create(createqar[j], pTran);
                        }

                        pTran.Commit();//提交事物
                    }
                    catch (Exception ex)
                    {
                        pTran.Rollback();

                        throw new APIException(ex.Message);
                    }

                    #endregion
                }



                var QuestionnaireAnswerRecordID = model_QuestionnaireAnswerRecordEntity.QuestionnaireAnswerRecordID;

                #region 获取结束页展示数据
                if (SumScore > 0)
                {
                    T_QN_ScoreRecoveryInformationEntity[] list_ScoreRecoveryInformation = ScoreRecoveryInformationBLL.getScoreRecoveryInformationByScore(para.QuestionnaireID, SumScore.ToString());

                    if (list_ScoreRecoveryInformation.Length > 0)
                    {
                        T_QN_ScoreRecoveryInformationEntity tempentity = list_ScoreRecoveryInformation[0];

                        rd.RecoveryContent = tempentity.RecoveryContent;
                        rd.RecoveryImg     = tempentity.RecoveryImg;
                        rd.RecoveryType    = tempentity.RecoveryType;
                    }
                }
                #endregion
            }



            return(rd);
        }
예제 #4
0
        protected override GetScoreRecoveryInformationListRD ProcessRequest(APIRequest <GetQuestionListRP> pRequest)
        {
            var rd   = new GetScoreRecoveryInformationListRD();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;

            var ScoreRecoveryInformationBLL = new T_QN_ScoreRecoveryInformationBLL(loggingSessionInfo);


            #region 条件参数

            List <IWhereCondition> complexCondition = new List <IWhereCondition>();
            complexCondition.Add(new EqualsCondition()
            {
                FieldName = "CustomerID", Value = loggingSessionInfo.ClientID
            });
            if (!string.IsNullOrEmpty(para.QuestionnaireID))
            {
                complexCondition.Add(new EqualsCondition()
                {
                    FieldName = "QuestionnaireID", Value = para.QuestionnaireID
                });
            }


            #endregion

            #region 排序参数

            List <OrderBy> lstOrder = new List <OrderBy> {
            };
            lstOrder.Add(new OrderBy()
            {
                FieldName = "CreateTime", Direction = OrderByDirections.Desc
            });

            #endregion

            #region 获取数据集

            var tempList = ScoreRecoveryInformationBLL.PagedQuery(complexCondition.ToArray(), lstOrder.ToArray(), para.PageSize, para.PageIndex);
            rd.TotalPageCount = tempList.PageCount;
            rd.TotalCount     = tempList.RowCount;

            rd.ScoreRecoveryInformationList = tempList.Entities.Select(t => new DTO.Module.Questionnaire.Response.ScoreRecoveryInformation()
            {
                QuestionnaireID            = t.QuestionnaireID.ToString(),
                MaxScore                   = t.MaxScore.Value,
                MinScore                   = t.MinScore.Value,
                RecoveryContent            = t.RecoveryContent,
                RecoveryImg                = t.RecoveryImg,
                RecoveryType               = t.RecoveryType.Value,
                ScoreRecoveryInformationID = t.ScoreRecoveryInformationID.Value.ToString(),
                Status = t.Status.Value
            }).ToList();



            #endregion

            return(rd);
        }