Пример #1
0
        public ActionResult Details(int id)
        {
            BeerDetailsViewModel viewModel = new BeerDetailsViewModel(_db, id);

            viewModel.FindBeerBars(id);
            return(View(viewModel));
        }
Пример #2
0
        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 }));
        }
Пример #3
0
        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);
        }