public ActionResult FacilitySearch(FacilitySearchViewModel model, FacilityService service, CountyService dashboard, string facility = "", int county = 0, int level = 0)
        {
            string SearchString = "WHERE fc_level<>99";

            if (!string.IsNullOrWhiteSpace(facility))
            {
                SearchString += " AND fc_name LIKE '%" + facility.Replace("'", "`") + "%'";
            }

            if (county != 0)
            {
                SearchString += " AND fc_county=" + county;
            }

            if (level != 0)
            {
                SearchString += " AND fc_level=" + level;
            }

            //Don't Pull if Nothing Passed
            if (SearchString.Equals("WHERE fc_level<>99"))
            {
                SearchString += " AND fc_idnt=0";
            }

            model.facility   = facility.Trim();
            model.county     = county;
            model.level      = level;
            model.counties   = dashboard.GetCounties();
            model.facilities = service.GetFacilities(SearchString);

            return(View(model));
        }
Ejemplo n.º 2
0
        public IActionResult Index(int pageIndex = 1,
                                    int pageSize = 10,
                                    string sortBy = "rates",
                                    string sortOrder = "asc",
                                    string keyword = "")
        {
            IQueryable<Facility> allFacilities = _context.Facilities.AsQueryable();
            Paged<Facility> facilities = new Paged<Facility>();

            if (!string.IsNullOrEmpty(keyword))
            {
                allFacilities = allFacilities.Where(f => f.Name.Contains(keyword));
            }

            var queryCount = allFacilities.Count();
            var skip = pageSize * (pageIndex - 1);

            long pageCount = (long)Math.Ceiling((decimal)(queryCount / pageSize));

            if (sortBy.ToLower() == "rates" && sortOrder.ToLower() == "asc")
            {
                facilities.Items = allFacilities.OrderBy(e => e.Rates).Skip(skip).Take(pageSize).ToList();
            }

            if (sortBy.ToLower() == "rates" && sortOrder.ToLower() == "desc")
            {
                facilities.Items = allFacilities.OrderByDescending(e => e.Rates).Skip(skip).Take(pageSize).ToList();
            }


            var result = new FacilitySearchViewModel();
            result.Facilities = new Paged<FacilityViewModel>();
            result.Facilities.Keyword = keyword;
            result.Facilities.PageCount = pageCount;
            result.Facilities.PageIndex = pageIndex;
            result.Facilities.PageSize = pageSize;
            result.Facilities.QueryCount = queryCount;

            result.Facilities.Items = new List<FacilityViewModel>();

            foreach (var facility in facilities.Items)
            {
                result.Facilities.Items.Add(new FacilityViewModel()
                {
                    FacilityID = facility.FacilityID,
                    Description = facility.Description,
                    Name = facility.Name,
                    Occupants = facility.Occupants,
                    Rates = facility.Rates,
                    Type = facility.Type
                });
            }
            return View(result);
        }
Ejemplo n.º 3
0
        public async Task OnGetAsync(string pageNo, string facilityName, bool deleted, string dateFrom, string dateTo, string creatorId, string status)
        {
            SearchInput = new FacilitySearchViewModel
            {
                PageNo = pageNo.FixPageNumber(),
                Name   = facilityName,
                IncludeDeletedItems = deleted,
                CreatorId           = creatorId,
                CreationDateFrom    = dateFrom,
                CreationDateTo      = dateTo
            };

            Status = !string.IsNullOrEmpty(status)
                ? status
                : null;
            List = await _featureService.FacilityListAsync(SearchInput, false);
        }