Exemple #1
0
        public async Task <IActionResult> Index(SearchRestaurantRequest searchRestaurantRequest, int page = 1)
        {
            var user        = User;
            var restaurants = await restaurantService.GetRestaurantsByRequestAsync(page, user, searchRestaurantRequest);

            return(View(new SearchRestaurantViewModel
            {
                UniqueCities = await restaurantService.GetUniqueCitiesAsync(),
                PagingList = restaurants,
                SearchRestaurantRequest = searchRestaurantRequest
            }));
        }
Exemple #2
0
        public async Task <PagingList <Restaurant> > GetRestaurantsByRequestAsync(int page, ClaimsPrincipal user, SearchRestaurantRequest searchRestaurantRequest)
        {
            var restaurants = await applicationDbContext.Restaurants.Include(r => r.Meals).ToListAsync();

            var filteredRestaurantsList = restaurants.Where(r => r.City.Equals(searchRestaurantRequest.City) || String.IsNullOrEmpty(searchRestaurantRequest.City)).OrderBy(r => r.Name).ToList();
            var restaurantQuery         = new List <Restaurant>();

            if (String.IsNullOrEmpty(searchRestaurantRequest.MealName))
            {
                restaurantQuery = filteredRestaurantsList;
            }
            else
            {
                foreach (Restaurant restaurant in filteredRestaurantsList)
                {
                    foreach (Meal meal in restaurant.Meals)
                    {
                        if (meal.Name.ToLower().Contains(searchRestaurantRequest.MealName.ToLower()))
                        {
                            restaurantQuery.Add(restaurant);
                            break;
                        }
                    }
                }
            }
            return(PagingList.Create(restaurantQuery, 10, page));
        }
Exemple #3
0
        public async Task <List <Restaurant> > FindRestaurantsByCityAsync(SearchRestaurantRequest searchRestaurantRequest)
        {
            var restaurants = await applicationDbContext.Restaurants.Where(r => r.City == searchRestaurantRequest.City).ToListAsync();

            return(restaurants);
        }