public ActionResult InEvaluate(string docid = null) { BuyFlowModel buyflow = _context.BuyFlows.Where(b => b.DocId == docid) .Where(b => b.Status == "?").FirstOrDefault(); if (buyflow == null) { return(NotFound()); } else { buyflow.Status = "E"; buyflow.Rtt = DateTime.Now; _context.Entry(buyflow).State = EntityState.Modified; // BuyEvaluateModel e = _context.BuyEvaluates.Find(docid); BuySFlowModel s = new BuySFlowModel(); s.DocId = docid; s.DocSid = buyflow.DocId + "_1"; s.StepId = 2; s.Status = "?"; s.Rtp = buyflow.UserId; s.Rtt = DateTime.Now; _context.BuySFlows.Add(s); BuySFlowModel s2 = new BuySFlowModel(); s2.DocId = docid; s2.DocSid = buyflow.DocId + "_2"; s2.StepId = 2; s2.Status = "?"; s2.Rtp = buyflow.UserId; s2.Rtt = DateTime.Now; _context.BuySFlows.Add(s2); // BuyFlowModel bf = new BuyFlowModel(); BuyFlowModel bf2 = new BuyFlowModel(); bf.DocId = buyflow.DocId + "_1"; bf2.DocId = buyflow.DocId + "_2"; bf.StepId = 1; bf2.StepId = 1; bf.UserId = buyflow.UserId; bf2.UserId = buyflow.UserId; bf.Status = "1"; bf2.Status = "1"; bf.Cls = "採購人員"; bf2.Cls = "採購人員"; bf.Rtp = buyflow.UserId; bf2.Rtp = buyflow.UserId; bf.Rtt = DateTime.Now; bf2.Rtt = DateTime.Now; _context.Entry(buyflow).State = EntityState.Modified; _context.BuyFlows.Add(bf); _context.BuyFlows.Add(bf2); // bf.StepId = 2; bf2.StepId = 2; bf.UserId = e.UserId; bf2.UserId = e.EngId; bf.Status = "?"; bf2.Status = "?"; bf.Cls = "申請者"; bf2.Cls = "維修工程師"; bf.Rtp = buyflow.UserId; bf2.Rtp = buyflow.UserId; bf.Rtt = DateTime.Now; bf2.Rtt = DateTime.Now; _context.BuyFlows.Add(bf); _context.BuyFlows.Add(bf2); _context.SaveChanges(); } return(RedirectToAction("Index", "Home", new { Area = "" })); }
public ActionResult NextFlow(BuyFlowModel BuyFlow) { // Get Login User's details. var loginUser = _userRepo.Find(ur => ur.UserName == User.Identity.Name).FirstOrDefault(); if (ModelState.IsValid) { if (BuyFlow.SelOpin == "其他" && string.IsNullOrEmpty(BuyFlow.Opinions)) { throw new Exception("請填寫意見欄!!"); } BuyFlowModel rf = _context.BuyFlows.Where(f => f.DocId == BuyFlow.DocId && f.Status == "?").FirstOrDefault(); List <BuyFlowModel> rflist = _context.BuyFlows.Where(f => f.DocId == BuyFlow.DocId).ToList(); BuyEvaluateModel r; BuySFlowModel s = _context.BuySFlows.Where(b => b.DocSid == BuyFlow.DocId).FirstOrDefault(); if (s != null) { r = _context.BuyEvaluates.Find(s.DocId); } else { r = _context.BuyEvaluates.Find(BuyFlow.DocId); } AppUserModel u; Tmail mail; string body = ""; string sto = ""; if (BuyFlow.Cls == "結案") { rf.Opinions = BuyFlow.SelOpin + Environment.NewLine + BuyFlow.Opinions; rf.Status = "2"; rf.Rtt = DateTime.Now; rf.Rtp = loginUser.Id; if (s != null) { s.Status = "2"; s.Rtt = DateTime.Now; s.Rtp = loginUser.Id; _context.Entry(s).State = EntityState.Modified; } _context.Entry(rf).State = EntityState.Modified; _context.SaveChanges(); // if (s != null) //會簽 { List <BuySFlowModel> sf = _context.BuySFlows.Where(bs => bs.DocId == s.DocId) .Where(bs => bs.Status == "?").ToList(); if (sf.Count() == 0) { BuyFlowModel f = _context.BuyFlows.Where(bf => bf.DocId == s.DocId) .Where(bf => bf.Status == "E").FirstOrDefault(); if (f != null) { f.Status = "?"; _context.Entry(f).State = EntityState.Modified; _context.SaveChanges(); // mail = new Tmail(); u = _context.AppUsers.Find(loginUser.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email mail.to = new System.Net.Mail.MailAddress(_context.AppUsers.Find(f.UserId).Email); //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工智能保修系統[採購評估案-會簽完成通知]:儀器名稱: " + r.PlantCnam; body += "<p>申請人:" + r.UserName + "</p>"; body += "<p>儀器名稱:" + r.PlantCnam + "</p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } } } else { mail = new Tmail(); u = _context.AppUsers.Find(loginUser.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email foreach (BuyFlowModel rr in rflist) { u = _context.AppUsers.Find(rr.UserId); sto += u.Email + ","; } mail.sto = sto.TrimEnd(new char[] { ',' }); //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工智能保修系統[採購評估案-結案通知]:儀器名稱: " + r.PlantCnam; body += "<p>申請人:" + r.UserName + "</p>"; body += "<p>儀器名稱:" + r.PlantCnam + "</p>"; body += "<p><a href='http://dms.cch.org.tw/BMED/Account/Login'>前往網站檢視</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } return(new JsonResult(BuyFlow) { Value = new { success = true, error = "" }, }); } else if (BuyFlow.Cls == "廢除") { rf.Opinions = BuyFlow.SelOpin + Environment.NewLine + BuyFlow.Opinions; rf.Status = "3"; rf.Rtt = DateTime.Now; rf.Rtp = loginUser.Id; _context.Entry(rf).State = EntityState.Modified; _context.SaveChanges(); // mail = new Tmail(); u = _context.AppUsers.Find(loginUser.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email foreach (BuyFlowModel rr in rflist) { u = _context.AppUsers.Find(rr.UserId); sto += u.Email + ","; } mail.sto = sto.TrimEnd(new char[] { ',' }); //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工智能保修系統[採購評估案-廢除通知]:儀器名稱: " + r.PlantCnam; body += "<p>申請人:" + r.UserName + "</p>"; body += "<p>儀器名稱:" + r.PlantCnam + "</p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); return(new JsonResult(BuyFlow) { Value = new { success = true, error = "" }, }); } BuyFlow.StepId = rf.StepId + 1; BuyFlow.Rtt = DateTime.Now; switch (BuyFlow.Cls) { case "申請者": BuyFlow.UserId = r.UserId; break; case "設備經辦": break; } BuyFlow.Status = "?"; u = _context.AppUsers.Find(BuyFlow.UserId); BuyFlow.Role = roleManager.GetRolesForUser(u.Id).FirstOrDefault(); rf.Opinions = BuyFlow.SelOpin + Environment.NewLine + BuyFlow.Opinions; rf.Status = "1"; rf.Rtp = loginUser.Id; BuyFlow.Opinions = null; _context.Entry(rf).State = EntityState.Modified; _context.BuyFlows.Add(BuyFlow); _context.SaveChanges(); // mail = new Tmail(); body = ""; u = _context.AppUsers.Find(loginUser.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email u = _context.AppUsers.Find(BuyFlow.UserId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工智能保修系統[採購評估案]:儀器名稱: " + r.PlantCnam; body += "<p>申請人:" + r.UserName + "</p>"; body += "<p>儀器名稱:" + r.PlantCnam + "</p>"; body += "<p><a href='http://dms.cch.org.tw/BMED/Account/Login'>處理案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); return(new JsonResult(BuyFlow) { Value = new { success = true, error = "" }, }); } return(View(BuyFlow)); }
public List <BuyEvaluateListVModel> GetList(string cls = null) { // Get Login User's details. var user = _userRepo.Find(ur => ur.UserName == User.Identity.Name).FirstOrDefault(); List <BuyEvaluateListVModel> rv = new List <BuyEvaluateListVModel>(); List <BuyFlowModel> rf = new List <BuyFlowModel>(); List <BuyFlowModel> rf2; switch (cls) { case "已處理": rf2 = _context.BuyFlows.Where(bf => bf.Status == "?") .Where(m => m.UserId != user.Id).ToList(); foreach (BuyFlowModel f in rf2) { if (_context.BuyFlows.Where(m => m.DocId == f.DocId).Where(m => m.UserId == user.Id).Count() > 0) { rf.Add(f); } } break; case "已結案": rf2 = _context.BuyFlows.Where(bf => bf.Status == "2").ToList(); foreach (BuyFlowModel f in rf2) { if (_context.BuyFlows.Where(m => m.DocId == f.DocId).Where(m => m.UserId == user.Id).Count() > 0) { rf.Add(f); } } break; case "查詢": rf2 = _context.BuyFlows.Where(bf => bf.Status == "?").ToList(); AppUserModel p = user; DepartmentModel c = _context.Departments.Find(p.DptId); BuyEvaluateModel r; foreach (BuyFlowModel f in rf2) { r = _context.BuyEvaluates.Find(f.DocId); rf.Add(f); } break; default: rf = _context.BuyFlows.Where(bf => bf.Status == "?") .Where(m => m.UserId == user.Id).ToList(); break; } rf.OrderByDescending(m => m.Rtt); BuyEvaluateListVModel i; BuyEvaluateModel r2; foreach (BuyFlowModel f in rf) { i = new BuyEvaluateListVModel(); BuySFlowModel s = _context.BuySFlows.Where(bs => bs.DocSid == f.DocId).FirstOrDefault(); if (s != null) { r2 = _context.BuyEvaluates.Find(s.DocId); i.DocSid = f.DocId; } else { r2 = _context.BuyEvaluates.Find(f.DocId); } AppUserModel p = _context.AppUsers.Find(r2.UserId); DepartmentModel c = _context.Departments.Find(p.DptId); i.DocType = "評估"; i.DocId = r2.DocId; i.UserId = r2.UserId; i.UserName = r2.UserName; if (p != null && p.DptId != null) { i.CustId = p.DptId; i.CustNam = c.Name_C; } i.PlantCnam = r2.PlantCnam; i.PlantEnam = r2.PlantEnam; i.PlantType = r2.PlantType; i.Days = DateTime.Now.Subtract(r2.Rtt.GetValueOrDefault()).Days; if (f.Status == "2") { i.Flg = "2"; List <DeliveryModel> dv = _context.Deliveries.Where(v => v.PurchaseNo == f.DocId).ToList(); List <DelivFlowModel> df; DelivFlowModel w; foreach (DeliveryModel d in dv) { df = _context.DelivFlows.Where(g => g.DocId == d.DocId).ToList(); w = df.Where(g => g.Status == "?").FirstOrDefault(); if (w != null) { i.Flg = "E"; } w = df.Where(g => g.Status == "2").FirstOrDefault(); if (w != null) { i.Flg = "E"; } } } else { i.Flg = f.Status; } i.FlowUid = f.UserId; i.FlowUname = _context.AppUsers.Find(f.UserId).FullName; rv.Add(i); } return(rv); }