Exemple #1
0
        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&lt;T&gt; 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;
 }