public HealthAssessmentTemplateListModel GetClinicalTemplate(HealthAssessmentTemplateListModelFilter filter, int pageNumber, int pageSize, out int totalRecords) { var templates = _healthAssessmentTemplateRepository.GetHealthAssessmentTemplate(filter, pageNumber, pageSize, out totalRecords); var templatesWithQuestion = _healthAssessmentTemplateRepository.GetByIds(templates.Select(x => x.Id)); var templatesCriterias = _clinicalTestQualificationCriteriaRepository.GetbyTemplateIds(templates.Select(x => x.Id)); var criteriaViewModels = Mapper.Map <IEnumerable <ClinicalTestQualificationCriteria>, IEnumerable <ClinicalTestQualificationCriteriaViewModel> >(templatesCriterias).ToList(); var healthAssessmentTemplates = Mapper.Map <IEnumerable <HealthAssessmentTemplate>, IEnumerable <HealthAssessmentTemplateViewModel> >(templates); var clinicalGroups = _healthAssessmentRepository.GetAllQuestionGroupWithQuestion(true); foreach (var healthAssessmentTemplate in healthAssessmentTemplates) { List <ClinicalTestQualificationCriteriaViewModel> templateCriteria = null; if (!templatesCriterias.IsNullOrEmpty()) { templateCriteria = criteriaViewModels.Where(x => x.TemplateId == healthAssessmentTemplate.Id).ToList(); } var selectedQuestionIds = templatesWithQuestion.First(x => x.Id == healthAssessmentTemplate.Id).QuestionIds; if (!templateCriteria.IsNullOrEmpty()) { _clinicalQuestionsHealthAssessmentHelper.CompleteClinicalQuestionCriteriaInfo(templateCriteria, clinicalGroups, selectedQuestionIds); } healthAssessmentTemplate.Criterias = templateCriteria; } var model = new HealthAssessmentTemplateListModel { HealthAssessmentTemplates = healthAssessmentTemplates, Filter = filter }; return(model); }
// // GET: /Medical/HealthAssessment/ public ActionResult Index(HealthAssessmentTemplateListModelFilter filter = null, int pageNumber = 1) { int totalRecords; if (filter == null) { filter = new HealthAssessmentTemplateListModelFilter(); } if (filter.Category <= 0) { filter.Category = (long)HealthAssessmentTemplateCategory.HealthAssessmentTemplate; } var templates = _healthAssessmentTemplateRepository.GetHealthAssessmentTemplate(filter, pageNumber, _pageSize, out totalRecords); var model = new HealthAssessmentTemplateListModel { HealthAssessmentTemplates = Mapper.Map <IEnumerable <HealthAssessmentTemplate>, IEnumerable <HealthAssessmentTemplateViewModel> >(templates) }; model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.Name, filter.Active, filter.Inactive, filter.TemplateType, filter.Category }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }