コード例 #1
0
        public async Task <IActionResult> PostOrder(Cart cart)
        {
            OrderItem[] orderItems = new OrderItem[cart.CartItems.Count];
            int         i          = 0;

            foreach (var item in cart.CartItems)
            {
                var orderItem = new OrderItem {
                    ProductId = item.ProductId,
                    Quantity  = item.Quantity
                };
                _repo.Delete(item);
                await _repo.SaveAllAsync();

                orderItems[i] = orderItem;
                i++;
            }

            var order = new Order {
                UserId     = cart.UserId,
                OrderItems = orderItems
            };

            var dbOrder = await _repo.AddOrder(order);

            return(Ok(dbOrder));
        }
コード例 #2
0
        public IActionResult CreateOrder(AddOrderViewModel addOrderViewModel)
        {
            List <ItemOrderInfo> itemOrderInformation = new List <ItemOrderInfo>();

            Order newOrder = new Order(addOrderViewModel.BuyerName.Trim(),
                                       addOrderViewModel.BuyerSurname.Trim(), addOrderViewModel.ContactEmail.Trim(), addOrderViewModel.PhoneNumber.Trim(),
                                       addOrderViewModel.Adress.Trim());

            foreach (var cartItem in _shoppingCart.getCartItems())
            {
                ItemOrderInfo orderInfo = new ItemOrderInfo(newOrder.OrderId, cartItem.Amount, cartItem.ShopItem);
                newOrder.AddItemOrderInfo(orderInfo);
            }
            newOrder.CalculateTotalPrice();

            _repository.AddOrder(newOrder);
            _shoppingCart.ClearCart();
            return(RedirectToAction("OrderCompleted"));
        }