public ActionResult AddressAndPayment(FormCollection values) { var order = new Order(); TryUpdateModel(order); try { if (string.Equals(values["PromoCode"], PromoCode, StringComparison.OrdinalIgnoreCase) == false) { return View(order); } else { order.Username = User.Identity.Name; order.OrderDate = DateTime.Now; storeDB.Orders.Add(order); storeDB.SaveChanges(); var cart = ShoppingCart.GetCart(this.HttpContext); cart.CreateOrder(order); return RedirectToAction("Complete", new {id = order.OrderID}); } } catch { return View(order); } }
public int CreateOrder(Order order) { decimal orderTotal = 0; var cartItems = GetCartItems(); foreach (var item in cartItems) { var orderDetail = new OrderDetail { CarID = item.CarID, OrderID = order.OrderID, UnitPrice = item.Car.Price, Quantity = item.Count }; orderTotal += (item.Count*item.Car.Price); storeDB.OrderDetails.Add(orderDetail); } order.Total = orderTotal; storeDB.SaveChanges(); EmptyCart(); return order.OrderID; }