Exemplo n.º 1
0
 public int CreateOrder(Order order)
 {
     decimal orderTotal = 0;
     var cartItems = GetCartItems();
     //遍历购物车的产品,添加到订单详细
     foreach (var item in cartItems)
     {
         var orderDetail = new OrderDetail
         {
             ProductSizeId = item.ProductSizeId,
             OrderId = order.OrderId,
             UnitPrice = item.ProductSize.PricePerUnit,
             Quantity = item.Count
         };
         //设置购物车的订单总价
         orderTotal += (item.Count * item.ProductSize.PricePerUnit);
         storeDB.OrderDetails.Add(orderDetail);
     }
     //设置订单总价
     order.Total = orderTotal;
     //保存订单
     storeDB.SaveChanges();
     //清空购物车
     EmptyCart();
     //返回订单Id
     return order.OrderId;
 }
Exemplo n.º 2
0
 public ActionResult AddressAndPayment(FormCollection values)
 {
     var order = new Order();
     TryUpdateModel(order);
     string BDTAll = "";
     string[] BDTs = values.GetValues("BestDeliverTime");
     if (BDTs != null)
     {
         foreach (var BDT in BDTs)
         {
             BDTAll = BDTAll + BDT;
         }
     }
     order.BestDeliverTime = BDTAll;
     //var BDT = "";
     //for (int k = 0; k < Request.Form.AllKeys.Length ; k++ )
     //{
     //    if (Request.Form.GetKey(k) == "BestDeliverTime")
     //    {
     //        BDT = BDT + Request.Form.GetValues(k);
     //    }
     //}
     //order.BestDeliverTime = BDT;
     try
     {
         //if (string.Equals(values["PromoCode"], PromoCode, StringComparison.OrdinalIgnoreCase) == false)
         //{
         //    return View(order);
         //}
         //else
         //{
             //order.Username = User.Identity.Name;
             order.OrderDate = DateTime.Now;
             //Save Order
             storeDB.Orders.Add(order);
             storeDB.SaveChanges();
             //Process the order
             var cart = ShoppingCart.GetCart(this.HttpContext);
             cart.CreateOrder(order);
             storeDB.SaveChanges();
             return RedirectToAction("Complete");
         //}
     }
     catch
     {
         //Invalid - redisplay with errors
         return View(order);
     }
 }