Esempio n. 1
0
        public ActionResult OrderEditView(int id = 0)
        {
            if (id == 0)
            {
                return(View("Index"));
            }
            global::farmarproject2.Models.farmarEntities1 farmar = new Models.farmarEntities1();
            Serviceorder user = farmar.orders.Where(o => o.order_id == id).Select(o => new Serviceorder
            {
                order_id = o.order_id,
                status   = o.status,
                buy_id   = o.buy_id,
                flag     = true
            }).SingleOrDefault();

            var T = farmar.order_detail.Where(o => o.order_id == id).ToList();

            foreach (var x in T)
            {
                var produ = farmar.products.Where(o => o.productid == x.productid).SingleOrDefault();
                if (produ.unitstock < x.quiantity)
                {
                    user.flag = false;
                }
            }

            return(View(user));
        }
Esempio n. 2
0
        public async Task <ActionResult> OrderEdit(Serviceorder od)
        {
            farmarEntities1 db       = new farmarEntities1();
            order           tempuser = db.orders.Where(o => o.order_id == od.order_id).Select(p => p).SingleOrDefault();
            string          produt   = "~";

            if (ModelState.IsValid)
            {
                if (od.status != null)
                {
                    tempuser.status = od.status;
                }
                if (od.status == "付款成功")
                {
                    tempuser.date = DateTime.Now.ToString();
                }
                db.Entry(tempuser).State = EntityState.Modified;

                ServiceLogin service = new ServiceLogin()
                {
                    userID    = "famar123",
                    LoginTime = DateTime.Now,
                    ContentA  = $"編號{od.order_id}定單-資料更改",
                    State     = "修改",
                    Type      = "訂單資料"
                };
                db.ServiceLogins.Add(service);

                var T = db.order_detail.Where(o => o.order_id == od.order_id).ToList();
                if (od.status == "付款成功")
                {
                    foreach (var x in T)
                    {
                        var pt = db.products.Where(a => a.productid == x.productid).FirstOrDefault();
                        if (pt.unitstock >= x.quiantity)
                        {
                            pt.unitstock = pt.unitstock - x.quiantity;
                        }
                        pt.sale           += x.quiantity;
                        db.Entry(pt).State = EntityState.Modified;
                    }
                }
                else if (od.status == "缺貨中")
                {
                    foreach (var x in T)
                    {
                        var pt = db.products.Where(a => a.productid == x.productid).FirstOrDefault();
                        if (pt.unitstock < x.quiantity)
                        {
                            produt = $"{produt}{pt.productname}~";
                        }
                    }
                }
                List <string> MailList = new List <string>();
                MailList.Add(od.buy_id);
                var name = db.AspNetUsers.Where(o => o.Email == od.buy_id).Select(a => a.FamName).FirstOrDefault();
                db.SaveChanges();
                if (od.status == "付款成功")
                {
                    await SendMailByGmail(MailList, "碼農是好農交易成功通知", MailMessage("交易明細", $"您的訂單編號{od.order_id}已經完成交易", name));
                }
                else if (od.status == "缺貨中")
                {
                    await SendMailByGmail(MailList, "碼農是好農缺貨通知", MailMessage("缺貨通知", $"您的訂單編號{od.order_id},商品{produt}庫存不足已取消訂單,待庫存足夠請重新下單", name));
                }
                return(Json("yes"));
            }
            return(HttpNotFound());
        }