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)); }
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)); }
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)); }