public async Task <IActionResult> Search(string typeOfBar, string searchString, BarSearchViewModel barSearchVM)
        {
            IQueryable <string> typeOfBarSearch = _db.BarOwners.OrderBy(b => b.TypeOfBar).Select(b => typeOfBar);

            var bars = _db.BarOwners.Select(b => b);

            if (!String.IsNullOrEmpty(searchString))
            {
                bars = bars.Where(s => s.TypeOfBar.Contains(searchString));
            }
            if (!String.IsNullOrEmpty(typeOfBar))
            {
                bars = bars.Where(s => s.TypeOfBar == typeOfBar);
            }
            //if (!String.IsNullOrEmpty(typeOfDrink))
            //{
            //    var drinkResult = bars.Where(s => s.TypeOfDrink == typeOfDrink);
            //}


            barSearchVM = new BarSearchViewModel
            {
                TypeOfBar = new SelectList(await typeOfBarSearch.Distinct().ToListAsync()),
                BarOwners = await bars.ToListAsync()
            };
            return(View(barSearchVM));
        }
        public async Task <IActionResult> Search(int id, [FromQuery] BarSearchViewModel vm)
        {
            var allCities = (await cityServices.GetAllDTOAsync());

            vm.AllCities = new List <SelectListItem>();
            vm.AllCities.Add(new SelectListItem("Select...", ""));

            allCities.ForEach(c => vm.AllCities.Add(new SelectListItem(c.Name, c.Id.ToString())));

            if (string.IsNullOrEmpty(vm.NameKey) && vm.MinRating == null && vm.CityId == null)
            {
                return(View(vm));
            }
            var dto = new BarSearchDTO
            {
                NameKey   = vm.NameKey,
                CityId    = vm.CityId,
                MinRating = vm.MinRating
            };

            vm.Paging.Count = await barServices.SerchResultCountAsync(dto);

            vm.Paging.ItemsPerPage = itemsPerPage;
            vm.Paging.CurrentPage  = id == 0 ? 1 : id;

            vm.Result = (await barServices.SearchAsync(dto, itemsPerPage, vm.Paging.CurrentPage))
                        .Select(b => b.MapToViewModel());

            return(View(vm));
        }
 public async Task <IActionResult> SearchBars(BarSearchViewModel viewModel)
 {
     if (viewModel.AvgRating != null)
     {
         viewModel.SearchResults = (await this._barServices.SearchBarsByMultipleCriteriaAsync(viewModel.Name, viewModel.Address, viewModel.PhoneNumber, viewModel.ShowOnlyHiddenFiles)).Select(b => b.MapToViewModel()).Where(b => b.Rating == viewModel.AvgRating).ToList();
     }
     else
     {
         viewModel.SearchResults = (await this._barServices.SearchBarsByMultipleCriteriaAsync(viewModel.Name, viewModel.Address, viewModel.PhoneNumber, viewModel.ShowOnlyHiddenFiles)).Select(b => b.MapToViewModel()).ToList();
     }
     return(View(viewModel));
 }
        public async Task <IActionResult> ManageBars(BarSearchViewModel vm)
        {
            if (string.IsNullOrEmpty(vm.Name))
            {
                return(View());
            }

            vm.SearchResults = (await _barServices.GetMultipleBarsByNameAsync(vm.Name)).Select(b => b.MapToViewModel()).ToList();
            if (vm.SearchResults.Count == 0)
            {
                ModelState.AddModelError(string.Empty, "No bars found with this name.");
                return(View());
            }

            return(View(vm));
        }
        public async Task <IActionResult> BarSearchResults(string keyword, string page, string pageSize)
        {
            Tuple <IList <Bar>, bool> bars;
            var model = new BarSearchViewModel()
            {
                Keyword = keyword == null ? "" : keyword,
                Page    = int.Parse(page)
            };

            bars = await barService.FindBarsForUserAsync(model.Keyword, model.Page, int.Parse(pageSize), null);

            foreach (var bar in bars.Item1)
            {
                model.Bars.Add(new BarViewModel(bar));
            }
            model.LastPage = bars.Item2;
            return(PartialView("_MagicianBarsView", model));
        }
Esempio n. 6
0
        public async Task <IActionResult> FavoriteBarsResultPartial(string keyword, string pageSize, string page)
        {
            var userId = int.Parse(this.User.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier).Value);
            Tuple <IList <Bar>, bool> bars;
            var model = new BarSearchViewModel()
            {
                Keyword = keyword == null ? "" : keyword,
                Page    = int.Parse(page)
            };

            bars = await barService.FindBarsForUserAsync(model.Keyword, model.Page, int.Parse(pageSize), userId);

            foreach (var bar in bars.Item1)
            {
                model.Bars.Add(new BarViewModel(bar));
            }
            model.LastPage = bars.Item2;
            return(PartialView("_FavoriteBarsResultView", model));
        }
        public async Task <IActionResult> BarSearchResults(string keyword, string criteria, string order, string page, string rating, string sortOrder, string pageSize)
        {
            Tuple <IList <Bar>, bool> searchResults;
            var model = new BarSearchViewModel()
            {
                Keyword          = keyword == null ? "" : keyword,
                SelectedCriteria = criteria,
                SelectedOrderBy  = order == null ? "" : order,
                Searched         = true,
                Page             = int.Parse(page)
            };
            var rate = rating == null ? "1;5" : rating;

            searchResults = await barService.FindBarsForCatalogAsync(model.Keyword, model.SelectedCriteria, model.Page, model.SelectedOrderBy, rate, sortOrder, int.Parse(pageSize));

            foreach (var bar in searchResults.Item1)
            {
                model.Bars.Add(new BarViewModel(bar));
            }
            model.LastPage = searchResults.Item2;
            return(PartialView("_BarSearchView", model));
        }
Esempio n. 8
0
 public async Task <IActionResult> SearchBars(BarSearchViewModel viewModel)
 {
     viewModel.SearchResults = (await this.barServices.SearchBooksByMultipleCriteriaAsync(viewModel.Name, viewModel.Address, viewModel.PhoneNumber)).Select(b => b.MapToViewModel()).ToList();
     return(View(viewModel));
 }