public async Task <IActionResult> Create([Bind("Id,Name")] Category category) { if (ModelState.IsValid) { _context.Add(category); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(category)); }
public async Task <IActionResult> BuyAllItems() { var user = await _userManager.FindUserByPrincipal(HttpContext.User); var items = _context.ShoppingCartItem.Where(x => x.UserId == user.Id && x.Ordered == false); Order order = new Order() { UserId = user.Id, Date = DateTime.Now.ToString(), Items = new List <ShoppingCartItem>() }; foreach (var i in items) { Item item = await _context.Item.FindAsync(i.ItemId); order.Items.Add(i); item.Quantity = item.Quantity - i.Quantity; if (item.Quantity <= 0) { item.SoldOut = true; } _context.Update(item); } foreach (var item in order.Items) { if (item.Quantity >= 20) { order.Sum += item.Quantity * item.Product.WholesalePrice; } else { order.Sum += item.Quantity * item.Product.Price; } } await _context.Order.AddAsync(order); foreach (var i in order.Items) { i.Ordered = true; _context.Update(i); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> AddToCart(int?id) { if (id == null) { return(NotFound()); } var item = await _context.Item .Include(i => i.Category) .FirstOrDefaultAsync(m => m.Id == id); if (item == null) { return(NotFound()); } var user = await _userManager.FindUserByPrincipal(HttpContext.User); if (_context.ShoppingCartItem.Any(x => x.UserId == user.Id && x.ItemId == item.Id)) { var cartItem = await _context.ShoppingCartItem.FirstOrDefaultAsync(x => x.UserId == user.Id && x.ItemId == item.Id); cartItem.Quantity++; _context.Update(cartItem); } else { ShoppingCartItem cartItem = new ShoppingCartItem() { UserId = user.Id, ItemId = item.Id, Product = item, Quantity = 1, Ordered = false }; _context.ShoppingCartItem.Add(cartItem); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }