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)); }
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()); }