예제 #1
0
        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)));
        }
예제 #3
0
        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"));
        }