コード例 #1
0
        protected override EmptyResponseData ProcessRequest(APIRequest <DelQuestionnaireRP> pRequest)
        {
            var rd   = new EmptyResponseData();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;

            //问卷bll
            var QuestionnaireBLL = new T_QN_QuestionnaireBLL(loggingSessionInfo);

            //问卷关联活动
            var ActivityQuestionnaireMappingBLL = new T_QN_ActivityQuestionnaireMappingBLL(loggingSessionInfo);

            //查询是否有相关联的活动
            var AQM = ActivityQuestionnaireMappingBLL.GetByQID(para.QuestionnaireID);

            if (AQM == null)
            {
                object[] QuestionnaireIDs = new object[] { para.QuestionnaireID };
                QuestionnaireBLL.Delete(QuestionnaireIDs);
            }
            else
            {
                throw new APIException(300, "有相关联问卷数据不可删除!");
            }


            return(rd);
        }
コード例 #2
0
        protected override GetActivityIDAndQuestionnaireIDRD ProcessRequest(APIRequest <GetActivityIDAndQuestionnaireIDRP> pRequest)
        {
            DataTable dt   = new DataTable();
            var       rd   = new GetActivityIDAndQuestionnaireIDRD();
            var       para = pRequest.Parameters;
            var       loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;

            var AQMmodel = new T_QN_ActivityQuestionnaireMappingBLL(loggingSessionInfo).GetByAID(para.ActivityID);


            if (AQMmodel != null)
            {
                rd.QuestionnaireName = AQMmodel.QuestionnaireName;
                rd.QuestionnaireID   = AQMmodel.QuestionnaireID;

                TitleName[] TitleData;
                rd.ResultData = GetQuestionnaireInfor(AQMmodel.ActivityID, AQMmodel.QuestionnaireID, out TitleData);
                rd.TitleData  = TitleData;
            }

            return(rd);
        }
コード例 #3
0
        protected override GetScoreRecoveryOptionInforRD ProcessRequest(APIRequest <GetActivityIDAndQuestionnaireIDRP> pRequest)
        {
            var rd   = new GetScoreRecoveryOptionInforRD();
            var para = pRequest.Parameters;
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var QOCMBLL            = new T_QN_QuestionnaireOptionCountBLL(loggingSessionInfo);
            var QuestionBLL        = new T_QN_QuestionBLL(loggingSessionInfo);
            var OptionBLL          = new T_QN_OptionBLL(loggingSessionInfo);

            //查询活动下的问卷信息
            var AQMmodel = new T_QN_ActivityQuestionnaireMappingBLL(loggingSessionInfo).GetByAID(para.ActivityID);

            if (AQMmodel != null)
            {
                //获取答题选项统计列表
                var QOCList = QOCMBLL.GetList(AQMmodel.QuestionnaireID, para.ActivityID);

                //获取选择类型题目数据集合
                var QuestionEntitys = QuestionBLL.getOptionQuestionList(AQMmodel.QuestionnaireID);

                if (rd.Questionlist == null)
                {
                    rd.Questionlist = new List <Question>();
                }

                //向返回列表增加题目集合
                for (int i = 0; i < QuestionEntitys.Length; i++)
                {
                    var      QuestionEntity = QuestionEntitys[i];
                    Question q = new Question();
                    q.Name           = QuestionEntity.Name;
                    q.Questionid     = QuestionEntity.Questionid;
                    q.QuestionidType = QuestionEntity.QuestionidType.Value;

                    var QuestionOptionlist = OptionBLL.GetListByQuestionID(q.Questionid.ToString());

                    if (q.Optionlist == null)
                    {
                        q.Optionlist = new List <Option>();
                    }

                    int sum = 0;
                    //向返回列表增加题目的选项集合
                    foreach (var _QuestionOption in QuestionOptionlist)
                    {
                        var OptionList = (from list in QOCList
                                          where list.ActivityID == para.ActivityID
                                          where list.OptionID == _QuestionOption.OptionID.ToString()
                                          select new
                        {
                            ActivityName = list.ActivityName,
                            OptionID = list.OptionID,
                            OptionName = list.OptionName,
                            QuestionnaireName = list.QuestionnaireName,
                            QuestionName = list.QuestionName,
                            SelectedCount = list.SelectedCount
                        }).ToList();
                        if (OptionList.Count > 0)
                        {
                            Option _Option = new Option();
                            _Option.OptionID      = OptionList[0].OptionID;
                            _Option.OptionName    = OptionList[0].OptionName;
                            _Option.SelectedCount = OptionList[0].SelectedCount.Value;
                            sum += OptionList[0].SelectedCount.Value;
                            q.Optionlist.Add(_Option);
                        }
                        else
                        {
                            Option _Option = new Option();
                            _Option.OptionID        = _QuestionOption.OptionID.ToString();
                            _Option.OptionName      = _QuestionOption.OptionContent;
                            _Option.SelectedCount   = 0;
                            _Option.SelectedPercent = "0";
                            q.Optionlist.Add(_Option);
                        }
                    }

                    for (int k = 0; k < q.Optionlist.Count; k++)
                    {
                        if (sum > 0)
                        {
                            q.Optionlist[k].SelectedPercent = string.Format("{0:0}", Convert.ToDouble(q.Optionlist[k].SelectedCount) * 100 / Convert.ToDouble(sum));
                        }
                    }



                    rd.Questionlist.Add(q);
                }
            }
            return(rd);
        }