public ActionResult Details(int id) { BeerDetailsViewModel viewModel = new BeerDetailsViewModel(_db, id); viewModel.FindBeerBars(id); return(View(viewModel)); }
public ActionResult Edit(List <int> BarId, string BeerName, string BeerBreweryName, string BeerStyle, string BeerAbv, int BeerIbu, int id) { BeerDetailsViewModel viewModel = new BeerDetailsViewModel(_db, id); viewModel.CurrentBeer.BeerName = BeerName; viewModel.CurrentBeer.BeerBreweryName = BeerBreweryName; viewModel.CurrentBeer.BeerStyle = BeerStyle; viewModel.CurrentBeer.BeerAbv = Convert.ToDouble(BeerAbv); viewModel.CurrentBeer.BeerIbu = BeerIbu; var beersToRemove = _db.Taplists.Where(entry => entry.BeerId == id).ToList(); foreach (var beer in beersToRemove) { if (beer != null) { _db.Taplists.Remove(beer); } } foreach (var barId in BarId) { Bar bar = _db.Bars.FirstOrDefault(item => item.BarId == barId); Taplist newTaplist = new Taplist(id, bar.BarId); _db.Taplists.Add(newTaplist); } _db.SaveChanges(); return(RedirectToAction("Details", new { id = viewModel.CurrentBeer.BeerId })); }
public BeerDetailsViewModel GetBeerDetailsViewModel(int?beerId) { if (beerId == null) { return(null); } var beer = _context.Beer.Include(x => x.Brewery).Include(x => x.Style).FirstOrDefault(x => x.Id == beerId); if (beer == null) { return(null); } double averageRating; var ratings = _context.Ratings.Where(x => x.BeerId == beerId).Select(x => x.Rating); if (ratings == null || ratings.Count() == 0) { averageRating = 0.0; } else { averageRating = ratings.Average(); } var viewModel = new BeerDetailsViewModel() { Abv = beer.Abv, Id = beer.Id, BreweryId = beer.BreweryId, Name = beer.Name, StyleId = beer.StyleId, Notes = beer.Notes, AverageRating = averageRating, Style = beer.Style, Brewery = beer.Brewery }; return(viewModel); }