Пример #1
0
 public ActionResult OrderUpdateX(OrderMix model, string status)
 {
     using (var db = new Database1Entities1())
     {
         var p = db.OrderMixes.Find(model.OrderMixId);
         var q = db.Items.Find(p.ItemId);
         if (p.Status != status)
         {
             if (status == "未出荷")
             {
                 q.Stock = q.Stock + p.Quantity;
                 db.SaveChanges();
                 p.Status = status;
                 db.SaveChanges();
             }
             else if (status == "出荷済")
             {
                 if (q.Stock >= p.Quantity)
                 {
                     q.Stock = q.Stock - p.Quantity;
                     db.SaveChanges();
                     p.Status = status;
                     db.SaveChanges();
                 }
                 else if (q.Stock < p.Quantity)
                 {
                     ViewBag.message = "在庫数量が不足しています。";
                     return(View("OrderUpdateInput", Session["Update"]));
                 }
             }
         }
         return(View("OrderUpdate", p));
     }
 }
Пример #2
0
 public ActionResult OrderUpdateInput(OrderMix om)
 {
     using (var db = new Database1Entities1())
     {
         var p = db.OrderMixes.Find(om.OrderMixId);
         Session["Update"] = p;
         return(View(Session["Update"]));
     }
 }
Пример #3
0
        // GET: Order
        public ActionResult OrderAdd()
        {
            Session["customerid"] = 1;
            int subPrice   = 0;
            int tax        = 0;
            int totalPrice = 0;

            using (var db = new Database1Entities1())
            {
                var carts = db.Carts.ToList();
                foreach (var i in carts)
                {
                    subPrice += i.Price;
                }
                tax        = (int)Math.Truncate(subPrice * 0.08);
                totalPrice = subPrice + tax;

                var order = new Order
                {
                    CustomerId = (int)Session["customerid"],
                    SubPrice   = subPrice,
                    Tax        = tax,
                    TotalPrice = totalPrice,
                    OrderDate  = DateTime.Now
                };

                db.Orders.Add(order);
                db.SaveChanges();

                int lastOrderId = db.Orders.Max(model => model.OrderId);
                int num         = 1;

                foreach (var i in carts)
                {
                    var orderdetail = new OrderMix
                    {
                        OrderId       = lastOrderId,
                        OrderDetailId = num,
                        ItemId        = i.ItemId,
                        ItemName      = i.ItemName,
                        UnitPrice     = i.UnitPrice,
                        Quantity      = i.Quantity,
                        Price         = i.Price,
                        DeliveryDate  = DateTime.Parse(i.DeliveryDate),
                        Status        = "未出荷",
                        CustomerId    = (int)Session["customerid"],
                        SubPrice      = order.SubPrice,
                        Tax           = order.Tax,
                        TotalPrice    = order.TotalPrice,
                        OrderDate     = order.OrderDate
                    };
                    db.OrderMixes.Add(orderdetail);
                    var u = db.Carts.Find(i.CartId);
                    db.Carts.Remove(u);
                    db.SaveChanges();
                    num += 1;
                }

                var orderList = db.Orders.Find(lastOrderId);
                ViewBag.Order = orderList;

                var ItemList = db.OrderMixes.ToList();
                var dlist    = new List <OrderMixViewModel>();
                foreach (var item in ItemList)
                {
                    if (orderList.OrderId == item.OrderId)
                    {
                        var e = new OrderMixViewModel(item);
                        dlist.Add(e);
                    }
                }
                return(View(dlist));
            }
        }