public async Task <IActionResult> Update(int id, BasketItem item) { BasketItem basketItem = await _context.GetBasketItemById(item.ID); basketItem.Quantity = item.Quantity; string result = await _context.UpdateBasketItem(basketItem.ID, basketItem); if (result == "Basket Not Found") { return(NotFound()); } return(RedirectToAction("Details", "Basket")); }
public async Task <IActionResult> UpdateBasketItem(int ID, int ProductID, int Quantity) { BasketItem updateItem = new BasketItem() { ID = ID, ProductID = ProductID, Quantity = Quantity, UserID = _userManager.GetUserId(User), OrderID = 1 }; await _basketItem.UpdateBasketItem(updateItem); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Checkout(string CreditCard, string FirstName, string LastName) { //get credit card number, last four digits string ccNumber = CreditCard; string lastFourDigits = ccNumber.Substring(ccNumber.Length - 4, 4); //get user var user = await _userManager.GetUserAsync(HttpContext.User); var ID = user.Id; //get basket items var shoppingCart = await _context.BasketItems.Where(x => x.UserID == ID && x.OrderID == 1).Include(product => product.Product).ToListAsync(); //get total decimal total = 0; foreach (var item in shoppingCart) { total += item.Product.Price; } //create new order item Order order = new Order() { UserID = ID, FirstName = FirstName, LastName = LastName, OrderDate = DateTime.Now, CreditCard = Convert.ToInt32(lastFourDigits), Total = total }; await _order.CreateOrder(order); foreach (var item in shoppingCart) { item.OrderID = order.ID; await _basketItem.UpdateBasketItem(item); } return(RedirectToAction("Receipt", "Checkout")); }