コード例 #1
0
        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);
        }
コード例 #2
0
        //
        // 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));
        }