示例#1
0
        public async Task <IActionResult> Create([Bind("UserId,BeerId")] WishlistBeer wishlistBeer)
        {
            if (ModelState.IsValid)
            {
                var wishlistBeerExists = _context.WishlistBeers.FirstOrDefault(wb => wb.UserId == wishlistBeer.UserId && wb.BeerId == wishlistBeer.BeerId);
                if (wishlistBeerExists == null)
                {
                    _context.Add(wishlistBeer);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BeerId"] = new SelectList(_context.Beers, "Id", "Name", wishlistBeer.BeerId);
            ViewData["UserId"] = new SelectList(_context.Users, "Id", "Email", wishlistBeer.UserId);
            return(View(wishlistBeer));
        }
        public IActionResult AddToWishlist(int?Id)
        {
            if (Id == null)
            {
                return(NotFound());
            }
            var user           = _context.Users.FirstOrDefault(u => u.UserName == HttpContext.User.Identity.Name);
            var beer           = _context.Beers.FirstOrDefault(b => b.Id == Id);
            var wishlistExists = _context.WishlistBeers.FirstOrDefault(l => l.UserId == user.Id && l.BeerId == Id);

            if (wishlistExists == null)
            {
                var wishlist = new WishlistBeer
                {
                    UserId = user.Id,
                    User   = user,
                    BeerId = (int)Id,
                    Beer   = beer
                };
                _context.WishlistBeers.Add(wishlist);
                _context.SaveChanges();
            }
            return(Redirect("~/WishlistBeers"));
        }