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