public ActionResult AddressAndPayment(FormCollection values) { var order = new Order(); TryUpdateModel(order); try { order.BuyerId = (Guid)Membership.GetUser(User.Identity.Name).ProviderUserKey; order.OrderDate = DateTime.Now; //Save Order storeDB.AddToOrders(order); storeDB.SaveChanges(); //Process the order var cart = ShoppingCart.GetCart(this.HttpContext); var items=cart.GetCartItems(); foreach (var i in items) { int? AvailableItems = storeDB.Clothes.Where(x => x.ClothesId == i.ClothesId).FirstOrDefault().Quantity; if (i.Quantity >= AvailableItems) { storeDB.Clothes.Where(x => x.ClothesId == i.ClothesId).FirstOrDefault().Quantity = 0; storeDB.Clothes.Where(x => x.ClothesId == i.ClothesId).FirstOrDefault().IsSold = true; } else if (i.Quantity < AvailableItems) { storeDB.Clothes.Where(x => x.ClothesId == i.ClothesId).FirstOrDefault().Quantity -= i.Quantity; } } storeDB.SaveChanges(); cart.CreateOrder(order); return RedirectToAction("Complete", new { id = order.OrderId }); } catch { //Invalid - redisplay with errors return View(order); } }
/// <summary> /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToOrders(Order order) { base.AddObject("Orders", order); }
/// <summary> /// Create a new Order object. /// </summary> /// <param name="orderId">Initial value of the OrderId property.</param> public static Order CreateOrder(global::System.Int32 orderId) { Order order = new Order(); order.OrderId = orderId; return order; }