接口返回信息构造循环

        public JsonResult<ResponseMessage> GetPaperRuleAndQuestionList([FromUri]ReqGetPaperRuleAndQuestionList req)
        {
            var response = new RespGetPaperRuleAndQuestionList();
            var result = new ResponseMessage
            {
                Msg = false,
                Message = CommonMessage.GetFailure,
                Info = response,
                ResultCode = (int)CommonEnum.UnionResultCode.OperateError
            };

            //用户的联盟Id
            var unionTypeId = UnionUserService.GetUnionTypeIdByToken(req.Token);
            //试卷试题信息
            var paperRuleAndQuestionInfo = UnionPaperService.GetPaperRuleAndQuestionList(req.PaperId, unionTypeId);
            var paperRuleAndQuestionList = paperRuleAndQuestionInfo.GroupBy(n => n.QuestionTypeId).Select(x =>
                new
                {
                    x.FirstOrDefault().QuestionTypeId,
                    x.FirstOrDefault().QuestionType,
                    x.FirstOrDefault().Score,
                    x.FirstOrDefault().QuestionDesc,
                    questionList = x.Where(n => n.QuestionId > 0).OrderBy(n => n.QuestionId).ToList()
                });
            foreach (var item in paperRuleAndQuestionList)
            {
                var questionNote = new QuestionNoteInfo
                {
                    QuestionTypeId = item.QuestionTypeId,
                    QuestionDesc = item.QuestionDesc,
                    QuestionType = item.QuestionType,
                    Score = item.Score
                };
                foreach (var t in item.questionList)
                {
                    var questionInfo = new UnionQuestionInfo
                    {
                        QuestionId = t.QuestionId,
                        Content = StringUtil.RemoveHtml(StringUtil.ReplaceImgToString(StringUtil.ReplaceTableToString(StringUtil.ReplaceSpace(t.Content))))
                    };
                    questionNote.QuestionList.Add(questionInfo);
                }
                response.QuestionNoteList.Add(questionNote);
            };
            response.PaperName = paperRuleAndQuestionInfo.FirstOrDefault().PaperName;
            response.TotalScore = paperRuleAndQuestionInfo.FirstOrDefault().TotalScore;

            result.Msg = true;
            result.Message = CommonMessage.GetSuccess;
            result.Info = response;
            result.ResultCode = (int)CommonEnum.UnionResultCode.OperateSuccess;
            return Json(result);
        }

posted on 2019-05-09 15:47  Cinderella露  阅读(126)  评论(0)    收藏  举报

导航