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)); }
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")); }