public ActionResult Create([Bind(Include = "ShipToFirstName,ShipToLastName,Address,City,State,ZipCode,Country,Phone")] Order order) { var user = db.Users.Find(User.Identity.GetUserId()); var shoppingcart = db.ShoppingCarts.Where(s => s.CustomerId == user.Id).ToList(); //decimal totalAmt = 0; if (shoppingcart.Count != 0) { if (ModelState.IsValid) { foreach (var product in shoppingcart) { OrderDetail orderDetail = new OrderDetail(); orderDetail.ItemId = product.ItemId; orderDetail.OrderId = order.Id; orderDetail.Quantity += product.Count; orderDetail.UnitPrice = product.Item.Price; //totalAmt += (product.Count * product.Item.Price); db.OrderDetails.Add(orderDetail); } order.Total = CartHelper.CalcSubTotal(); order.Tax = CartHelper.Tax(); order.Shipping = CartHelper.Shipping(); order.Completed = false; //should this be false or true?? //delete items from cart after order completes somehow? order.OrderDate = DateTime.Now; order.CustomerId = user.Id; db.Orders.Add(order); db.SaveChanges(); this.Complete(order.Id); var myOrder = db.Orders.Where(o => o.Id == order.Id).Include("Customer").Single(); return(View("Receipt", myOrder)); } } ViewBag.NoItem = "There are no items to order"; return(View(order)); }