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