示例#1
0
        public async Task <IActionResult> Receipt(string address, string city, string zip)
        {
            ApplicationUser user = await _userManager.GetUserAsync(User);

            string userName = _userManager.GetUserName(User);
            Basket basket   = await _context.GetBasket(userName);

            basket.TotalPrice = 0;
            foreach (var item in basket.BasketList)
            {
                basket.TotalPrice += item.LineItemAmount;
            }
            Order order = await _checkout.CreateOrder(user, basket.TotalPrice);

            order.Address = address;
            order.City    = city;
            order.Zip     = zip;
            await _checkout.UpdateOrder(order);

            foreach (var item in basket.BasketList)
            {
                await _checkout.CreateOrderItem(order, item);
            }
            order.OrderList = await _checkout.GetOrderItems(order.ID);

            Payment payment = new Payment(Configuration, _context);

            order.Completed = payment.Run(order);
            await _checkout.UpdateOrder(order);

            if (order.Completed == true)
            {
                await _checkout.SendRecieptEmail(user.Email);
            }
            return(View(basket));
        }
示例#2
0
        public async Task OnGetAsync()
        {
            order = await _checkout.GetOrder(ID.GetValueOrDefault());

            order.OrderList = await _checkout.GetOrderItems(order.ID);
        }