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); }
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)); }