示例#1
0
        public IEnumerable <CheckListTemplate> GetTemplatesByFilters(CheckListTemplateModelFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);

                var query = linqMetaData.CheckListTemplate.Where(x => x.IsActive);

                if (!string.IsNullOrEmpty(filter.Name))
                {
                    query = query.Where(x => x.Name.Contains(filter.Name));
                }

                if (filter.HealthPlanId > 0)
                {
                    query = query.Where(x => x.HealthPlanId.HasValue && x.HealthPlanId.Value == filter.HealthPlanId);
                }
                if (filter.CheckListTypeId > 0)
                {
                    query = query.Where(x => x.Type == filter.CheckListTypeId);
                }

                totalRecords = query.Count();
                var entities = query.OrderByDescending(p => p.IsActive).OrderBy(p => p.Name).TakePage(pageNumber, pageSize).ToArray();

                return(Mapper.Map <IEnumerable <CheckListTemplateEntity>, IEnumerable <CheckListTemplate> >(entities));
            }
        }
示例#2
0
        private CheckListTemplateListModel GetCheckListTemplateListModel(CheckListTemplateModelFilter filter, int pageNumber = 1)
        {
            var totalRecords = 0;
            var templates    = _checkListTemplateRepository.GetTemplatesByFilters(filter, pageNumber, _pageSize, out totalRecords);
            var healthPlans  = _corporateAccountRepository.GetByChecklistTemplateIds(templates.Select(x => x.Id));
            var list         = new List <CheckListTemplateViewModel>();

            foreach (var checkListTemplate in templates)
            {
                var healthPlanName       = "N/A";
                var checklisthealthPlans = healthPlans.Where(x => x.CheckListTemplateId == checkListTemplate.Id);
                if (!checklisthealthPlans.IsNullOrEmpty())
                {
                    healthPlanName = string.Join(", ", checklisthealthPlans.Select(x => x.Name));
                }

                string typeName      = string.Empty;
                var    checklistType = CheckListType.CheckList.GetNameValuePairs().FirstOrDefault(x => x.FirstValue == checkListTemplate.Type);
                typeName = checklistType == null ? "N/A" : checklistType.SecondValue;

                list.Add(new CheckListTemplateViewModel
                {
                    Name        = checkListTemplate.Name,
                    HealthPlan  = healthPlanName,
                    Id          = checkListTemplate.Id,
                    IsActive    = checkListTemplate.IsActive,
                    IsPublished = checkListTemplate.IsPublished,
                    Type        = typeName
                });
            }
            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.HealthPlanId });

            return(new CheckListTemplateListModel
            {
                Filter = filter,
                PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc),
                Templates = list
            });
        }
示例#3
0
        //
        // GET: /Medical/HealthAssessment/

        public ActionResult Index(CheckListTemplateModelFilter filter = null, int pageNumber = 1)
        {
            return(View(GetCheckListTemplateListModel(filter, pageNumber)));
        }