Ejemplo n.º 1
0
        public async Task <IActionResult> Index()
        {
            List <Store> stores = await Context.Stores.ToListAsync();

            HashSet <string> uniqueCities = GetUniqueCities(stores);
            List <Store>     openStores   = GetOpenStores(stores);


            var viewModel = new StoresCitiesViewModel
            {
                Stores           = stores,
                CitiesWithStores = uniqueCities.ToArray(),
                OpenStores       = openStores,
                ItemsInCart      = await CountItemsInCart()
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Index(StoresCitiesViewModel received)
        {
            List <Store> stores = await Context.Stores.ToListAsync();

            HashSet <string> uniqueCities = GetUniqueCities(stores);

            // get open stores
            List <Store> openStores = stores.Where(store => store.IsOpen()).ToList();

            if (!string.IsNullOrEmpty(received.Name))
            {
                stores = stores.Where(store => store.Name.ToLower().Contains(received.Name.ToLower())).ToList();
            }

            if (!string.IsNullOrEmpty(received.City))
            {
                stores = stores.Where(store => store.Address.City == received.City).ToList();
            }

            if (received.IsOpen)
            {
                stores = stores.Where(store => store.IsOpen()).ToList();
            }

            var viewModel = new StoresCitiesViewModel
            {
                Stores           = stores,
                CitiesWithStores = uniqueCities.ToArray(),
                OpenStores       = openStores,
                Name             = received.Name,
                City             = received.City,
                IsOpen           = received.IsOpen,
                ItemsInCart      = await CountItemsInCart()
            };

            return(View(viewModel));
        }