示例#1
0
        public void AddOrder(InOrderVM inOrderVM)
        {
            var orderDetails = new List <OrderDetails>();
            var valueCart    = db.Carts.Where(x => x.AccountId == inOrderVM.AccountId).ToList();

            for (var i = 0; i < valueCart.Count(); i++)
            {
                var orderDetail = new OrderDetails()
                {
                    OrderDetailId = Guid.NewGuid(),
                    ProductId     = valueCart[i].ProductId,
                    UnitPrice     = db.Products.Where(x => x.ProductId == valueCart[i].ProductId).FirstOrDefault().Price,
                    Quantity      = valueCart[i].Quantity,
                    Discount      = 0
                };
                db.Products.FirstOrDefault(x => x.ProductId == valueCart[i].ProductId).Stock -= valueCart[i].Quantity;
                orderDetails.Add(orderDetail);
            }
            var value = new Orders()
            {
                OrderId      = Guid.NewGuid(),
                AccountId    = inOrderVM.AccountId,
                OrderDate    = DateTime.Today,
                ShipVia      = inOrderVM.ShipVia,
                Freight      = inOrderVM.Freight,
                ShipCity     = inOrderVM.ShipCity,
                ShipAddress  = inOrderVM.ShipAddress,
                PayWay       = inOrderVM.PayWay,
                HasPay       = inOrderVM.HasPay,
                CustomerName = inOrderVM.CustomerName,
                Phone        = inOrderVM.Phone,
                InvoiceWay   = inOrderVM.InvoiceWay,
                Remark       = inOrderVM.Remark,
                OrderDetails = orderDetails
            };

            db.Orders.Add(value);
            db.Carts.RemoveRange(valueCart);
            db.SaveChanges();
        }
示例#2
0
 public void AddOrder(InOrderVM inOrderVM)
 {
     orderService.AddOrder(inOrderVM);
 }