public OrderResponse Post(Order order) { using (var session = MvcApplication.DocumentStore.OpenSession()) { var request = new OrderRequest { Items = order.Items.Select(li => new Models.LineItem { ProductID = li.ProductID, Quantity = li.Quantity, ListPrice = li.ListPrice, ProductName = li.ProductName }).ToList(), Status = Status.New }; session.Store(request); session.SaveChanges(); return new OrderResponse { Id = request.Id, CheckoutUri = "http://localhost:58800/order/edit/" + request.Id.ToString() }; } }
public async Task<ActionResult> Checkout() { using (var client = new HttpClient()) { var cart = GetCart(); var order = new Order { Items = cart.Items.Select(kvp => new Orders.LineItem { ProductID = kvp.Value.ProductID, ListPrice = kvp.Value.ListPrice, Quantity = kvp.Value.Quantity, ProductName = kvp.Value.ProductName }).ToList() }; client.BaseAddress = new Uri("http://localhost:58800/"); var httpResponseMessage = await client.PostAsJsonAsync("api/order", order); var orderResponse = await httpResponseMessage.Content.ReadAsAsync<OrderResponse>(); cart.Items.Clear(); return Redirect(orderResponse.CheckoutUri); } }