Beispiel #1
0
        public IEnumerable <HealthAssessmentTemplate> GetHealthAssessmentTemplate(HealthAssessmentTemplateListModelFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);
                if (filter == null)
                {
                    totalRecords = linqMetaData.HafTemplate.Count();
                    var entities = linqMetaData.HafTemplate.OrderByDescending(t => t.IsActive).OrderBy(t => t.Name).TakePage(pageNumber, pageSize).ToArray();
                    return(Mapper.Map <IEnumerable <HafTemplateEntity>, IEnumerable <HealthAssessmentTemplate> >(entities));
                }
                else
                {
                    var query = from t in linqMetaData.HafTemplate where t.Category == filter.Category && ((filter.Active ? t.IsActive : true) && (filter.Inactive ? !t.IsActive : true)) select t;

                    if (filter.TemplateType > 0)
                    {
                        query = from t in query where t.Type == filter.TemplateType select t;
                    }

                    if (!string.IsNullOrEmpty(filter.Name))
                    {
                        query = from t in query where t.Name.Contains(filter.Name) select t;
                    }

                    totalRecords = query.Count();
                    var entities = query.OrderByDescending(p => p.IsActive).OrderBy(p => p.Name).TakePage(pageNumber, pageSize).ToArray();
                    return(Mapper.Map <IEnumerable <HafTemplateEntity>, IEnumerable <HealthAssessmentTemplate> >(entities));
                }
            }
        }
Beispiel #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));
        }
        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);
        }
        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.ClinicalQuestions;
            }
            var model = _clinicalTemplateService.GetClinicalTemplate(filter, pageNumber, _pageSize, out totalRecords);

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