Exemple #1
0
        public CustomerClinicalQuestionEditModel Get(string guid, long customerId, long eventId, long clinicalQuestionTemplateId, long eventCustomerId = 0)
        {
            var template = _healthAssessmentTemplateRepository.GetById(clinicalQuestionTemplateId);

            var questions = _healthAssessmentRepository.GetByIds(template.QuestionIds);

            var questionModelCollection = Mapper.Map <IEnumerable <HealthAssessmentQuestion>, IEnumerable <HealthAssessmentQuestionEditModel> >(questions);

            var answers = _clinicalQuestionAnswerRepository.GetCustomerClinicalQuestionAnswers(guid, customerId);

            if (answers.IsNullOrEmpty() && eventCustomerId > 0)
            {
                answers = null;
                var hafAnswers = _healthAssessmentRepository.GetAnswerByEventCustomerId(eventCustomerId);
                foreach (var answer in hafAnswers)
                {
                    var editModel = questionModelCollection.SingleOrDefault(q => q.QuestionId == answer.QuestionId);
                    if (editModel != null)
                    {
                        editModel.Answer = answer.Answer;
                    }
                }
            }

            if (answers != null)
            {
                foreach (var answer in answers)
                {
                    var editModel = questionModelCollection.SingleOrDefault(q => q.QuestionId == answer.ClinicalHealthQuestionId);
                    if (editModel != null)
                    {
                        editModel.Answer = answer.HealthQuestionAnswer;
                    }
                }
            }
            var healthAssessmentModel = new HealthAssessmentEditModel
            {
                CustomerId         = customerId,
                EventId            = eventId,
                QuestionEditModels = questionModelCollection
            };

            _clinicalQuestionsHealthAssessmentHelper.SetRecommendationLogic(clinicalQuestionTemplateId, healthAssessmentModel);
            var model = new CustomerClinicalQuestionEditModel
            {
                HealthAssessmentModel      = healthAssessmentModel,
                ClinicalQuestionTemplateId = clinicalQuestionTemplateId,
                Guid = guid
            };

            return(model);
        }
Exemple #2
0
        public ActionResult View(long id)
        {
            var template  = _healthAssessmentTemplateRepository.GetById(id);
            var questions = _healthAssessmentRepository.GetByIds(template.QuestionIds);
            var questionModelCollection = Mapper.Map <IEnumerable <HealthAssessmentQuestion>, IEnumerable <HealthAssessmentQuestionEditModel> >(questions);

            var model = new HealthAssessmentEditModel
            {
                QuestionEditModels = questionModelCollection
            };

            if (template.Category == (long)HealthAssessmentTemplateCategory.ClinicalQuestions)
            {
                _clinicalQuestionsHealthAssessmentHelper.SetRecommendationLogic(id, model);
            }

            return(View(model));
        }