コード例 #1
0
        public ActionResult AcceptRiskRank(SaveRankActionModel actionModel)
        {
            EvaluationRankViewModel evaRankViewModel = null;
            string validationSummary = null;

            try
            {
                if (actionModel == null)
                {
                    throw new ArgumentNullException("actionModel");
                }

                RiskService.SaveRiskRank(actionModel.QuestAnswerId);

                evaRankViewModel = new EvaluationRankViewModel
                {
                    QuestionnaireResultEntity = new QuestionnaireResultEntity()
                    {
                        QuestionnaireMessage = "風險評估結果儲存成功",
                    }
                };
            }
            catch (InvalidOperationException e)
            {
                validationSummary = ConvertValidateMsgByRiskEvaluation(e);
            }
            catch (Exception e)
            {
                logger.Error(e);
                validationSummary = _systemErrorMsg;
            }

            if (!String.IsNullOrEmpty(validationSummary))
            {
                ModelState.AddModelError("", validationSummary);
            }

            return(View("EvaluationRank", evaRankViewModel));
        }
コード例 #2
0
        public ActionResult EvaluationRank(FormCollection answer)
        {
            EvaluationRankViewModel evaluationRankViewModel = null;
            string validationSummary = null;

            try
            {
                if (!answer.HasKeys())
                {
                    throw new ArgumentNullException("answer");
                }

                RiskEvaAnswerEntity riskEvaAnswerEntity = new RiskEvaAnswerEntity()
                {
                    QuestionnaireAnswerEntity = new QuestionnaireAnswerEntity()
                    {
                        QuestUid             = answer["questEntity.Uid"],
                        UserId               = Session["id"] as string,
                        AnswerDetailEntities = ConvertAnswerDetailList(answer),
                    },
                };

                Domain.DTO.RiskEvaResultDTO riskEvaResultDTO = RiskService.EvaluateRiskRank(
                    riskEvaAnswerEntity);

                if (riskEvaResultDTO == null)
                {
                    throw new InvalidOperationException("riskEvaResultDTO not found");
                }

                if ((riskEvaResultDTO.QuestionnaireResultEntity.ValidateFailInfo != null) &&
                    (riskEvaResultDTO.QuestionnaireResultEntity.ValidateFailInfo.Count > 0))
                {
                    return(View("EvaQuest", new EvaQuestViewModel()
                    {
                        RiskEvaQuestionnaireEntity = RiskService.GetRiskQuestionnaire(
                            answer["questEntity.QuestId"], Session["id"] as string),
                        QuestionnaireResultEntity = riskEvaResultDTO.QuestionnaireResultEntity,
                    }));
                }
                else
                {
                    evaluationRankViewModel = new EvaluationRankViewModel()
                    {
                        QuestionnaireResultEntity = riskEvaResultDTO.QuestionnaireResultEntity,
                        RiskRankEntities          = riskEvaResultDTO.RiskRankEntities,
                    };
                }
            }
            catch (InvalidOperationException e)
            {
                validationSummary = ConvertValidateMsgByRiskEvaluation(e);
            }
            catch (Exception e)
            {
                logger.Error(e);
                validationSummary = _systemErrorMsg;
            }

            if (!String.IsNullOrEmpty(validationSummary))
            {
                ModelState.AddModelError("", validationSummary);
            }

            return(View(evaluationRankViewModel));
        }