public ActionResult SearchBars() { var currentUser = User.Identity.Name; var patron = _context.Patrons .Include(p => p.FollowedBars) .Include(z => z.City) .Include(y => y.State) .Include(z => z.ZipCode) .SingleOrDefault(c => c.Email == currentUser); var barGames = _context.BarGames.Include(x => x.Bars).ToList(); var sportsPackages = _context.SportsPackages.Include(x => x.Bars).ToList(); var specials = _context.Specials.ToList(); var tapBeers = _context.TapBeers.Include(x => x.Bars).ToList(); var states = _context.States.ToList(); var zipCodes = _context.ZipCodes.ToList(); var cities = _context.Cities.ToList(); var daysOfWeek = _context.DayOfWeeks.ToList(); var bars = _context.Bars .Include(x => x.ZipCode) .Include(x => x.City) .Include(x => x.State) .Include(x => x.FeedMessages) .Include(x => x.BarGames) .Include(x => x.Specials) .Include(x => x.SportsPackages) .Include(x => x.TapBeers) .Include(x => x.Followers) .Include(x => x.HoursOfOperations) .Include(x => x.BarReviews).ToList(); var viewModel = new SearchBarsViewModel { Patron = patron, Bars = bars, BarGames = barGames, SportsPackages = sportsPackages, TapBeers = tapBeers, States = states, Cities = cities, ZipCodes = zipCodes, Specials = specials, }; return(View(viewModel)); }
public ActionResult FilterSearch(List <Bar> barz, SearchBarsViewModel viewModel) { List <Bar> filteredBars = new List <Bar>(); var currentUser = User.Identity.Name; var patron = _context.Patrons .Include(r => r.BarReviews) .Include(p => p.FollowedBars) .Include(z => z.City) .Include(y => y.State) .Include(z => z.ZipCode) .SingleOrDefault(c => c.Email == currentUser); var bars = _context.Bars .Include(x => x.ZipCode) .Include(x => x.City) .Include(x => x.State) .Include(x => x.FeedMessages) .Include(x => x.BarGames) .Include(x => x.Specials) .Include(x => x.SportsPackages) .Include(x => x.TapBeers) .ToList(); if (viewModel.SportsPackage.Id != 0) { foreach (var bar in bars.ToList()) { foreach (var package in bar.SportsPackages) { if (package.Id == viewModel.SportsPackage.Id) { filteredBars.Add(bar); } } } } if (viewModel.BarGame.Id != 0) { foreach (var bar in bars.ToList()) { foreach (var game in bar.BarGames) { if (game.Id == viewModel.BarGame.Id) { filteredBars.Add(bar); } } } } if (viewModel.TapBeer.Id != 0) { foreach (var bar in bars.ToList()) { foreach (var tap in bar.TapBeers) { if (tap.Id == viewModel.TapBeer.Id) { filteredBars.Add(bar); } } } } var barGames = _context.BarGames.ToList(); var sportsPackages = _context.SportsPackages.ToList(); var specials = _context.Specials.ToList(); var tapBeers = _context.TapBeers.ToList(); var states = _context.States.ToList(); var zipCodes = _context.ZipCodes.ToList(); var cities = _context.Cities.ToList(); var daysOfWeek = _context.DayOfWeeks.ToList(); var searchViewModel = new SearchBarsViewModel { Patron = patron, Bars = filteredBars, BarGames = barGames, SportsPackages = sportsPackages, TapBeers = tapBeers, States = states, Cities = cities, ZipCodes = zipCodes, Specials = specials, }; return(View("SearchBars", searchViewModel)); }