Exemplo n.º 1
0
        public ActionResult SearchFacilities(FacilitiesListViewModel model, int sportCategoryId = 0)
        {
            if (model.CurrentPage == 0)
            {
                model.CurrentPage = 1;
            }

            var sportCategory = this.sportCategories.All().FirstOrDefault(x => x.Id == sportCategoryId);

            var sportCategories = this.sportCategories.All();

            model.SportCategoriesDropDown = this.GetSelectListSportCategories(sportCategories);
            var foundFacilities = new List <Facility>();

            if (sportCategoryId > 0)
            {
                foundFacilities = this.facilities.All().Where(y => y.SportCategories.Where(x => x.Id == sportCategoryId).Count() > 0).ToList();
            }
            else
            {
                foundFacilities = this.facilities.All().ToList();
            }

            var allItemsCount = foundFacilities.Count();
            var foundFacilitiesAfterSearch = foundFacilities.ToList();

            if (!string.IsNullOrEmpty(model.Search))
            {
                foundFacilitiesAfterSearch = foundFacilities.Where(a => a.Name.ToUpper().Contains(model.Search.ToUpper())).ToList();
                allItemsCount = foundFacilitiesAfterSearch.Count();
            }

            var page = model.CurrentPage;

            var totalPages            = (int)Math.Ceiling(allItemsCount / (decimal)ItemsPerPage);
            var itemsToSkip           = (page - 1) * ItemsPerPage;
            var foundFacilitiestoView =
                foundFacilitiesAfterSearch
                .OrderBy(x => x.Name)
                .ThenBy(x => x.Id)
                .Skip(itemsToSkip).Take(ItemsPerPage)
                .ToList();
            var facilitiesToView = AutoMapperConfig.Configuration.CreateMapper().Map <List <FacilityViewModel> >(foundFacilitiestoView);

            var viewModel = new FacilitiesListViewModel()
            {
                CurrentPage = page,
                TotalPages  = totalPages,
                Facilities  = facilitiesToView
            };

            return(this.View(viewModel));
        }
        public ActionResult SearchFacilities(FacilitiesListViewModel model, int id = 0)
        {
            if (model.CurrentPage == 0)
            {
                model.CurrentPage = 1;
            }

            var sportCategory = this.sportCategories.All().FirstOrDefault(x => x.Id == id);

            var sportCategories = this.sportCategories.All();
            model.SportCategoriesDropDown = this.GetSelectListSportCategories(sportCategories);
            var foundFacilities = new List<Facility>();

            if (id > 0)
                {
                foundFacilities = this.facilities.All().Where(y => y.SportCategories.Where(x => x.Id == id).Count() > 0).ToList();
            }
            else
            {
                foundFacilities = this.facilities.All().ToList();
            }

            var allItemsCount = foundFacilities.Count();
            var foundFacilitiesAfterSearch = foundFacilities.ToList();
            if (!string.IsNullOrEmpty(model.Search))
            {
                foundFacilitiesAfterSearch = foundFacilities.Where(a => a.Name.ToUpper().Contains(model.Search.ToUpper())).ToList();
                allItemsCount = foundFacilitiesAfterSearch.Count();
            }

            var page = model.CurrentPage;

            var totalPages = (int)Math.Ceiling(allItemsCount / (decimal)ItemsPerPage);
            var itemsToSkip = (page - 1) * ItemsPerPage;
            var foundFacilitiestoView =
                foundFacilitiesAfterSearch
                .OrderBy(x => x.Name)
                .ThenBy(x => x.Id)
                .Skip(itemsToSkip).Take(ItemsPerPage)
               .ToList();
            var facilitiesToView = AutoMapperConfig.Configuration.CreateMapper().Map<List<FacilityViewModel>>(foundFacilitiestoView);

            var viewModel = new FacilitiesListViewModel()
            {
                CurrentPage = page,
                TotalPages = totalPages,
                Facilities = facilitiesToView
            };

            return this.View(viewModel);
        }