public ActionResult AddressAndPayment(FormCollection values) { var order = new Order(); TryUpdateModel(order); order.Username = User.Identity.Name; order.OrderDate = DateTime.Now; _unitOfWork.OrderRepository.Insert(order); _unitOfWork.Save(); var cart = ShoppingCartService.GetCart(HttpContext); cart.CreateOrder(order); return RedirectToAction("Complete", new {id = order.OrderId}); }
public int CreateOrder(Order order) { decimal orderTotal = 0; var cartItems = GetCartItems(); // Iterate over the items in the cart, // adding the order details for each foreach (var item in cartItems) { var orderDetail = new OrderDetail { ProductId = item.ProductId, OrderId = order.OrderId, UnitPrice = item.Product.NewPrice, Quantity = item.Count }; // Set the order total of the shopping cart orderTotal += (item.Count * item.Product.NewPrice); _unitOfWork.OrderDetailRepository.Insert(orderDetail); } // Set the order's total to the orderTotal count order.Total = orderTotal; // Save the order _unitOfWork.Save(); // Empty the shopping cart EmptyCart(); // Return the OrderId as the confirmation number return order.OrderId; }