public IActionResult Create(DeliveryModel delivery) { if (ModelState.IsValid) { // Get Login User's details. var ur = _userRepo.Find(usr => usr.UserName == User.Identity.Name).FirstOrDefault(); _context.Entry(delivery).State = EntityState.Modified; DelivFlowModel rf = new DelivFlowModel(); rf.DocId = delivery.DocId; rf.StepId = 1; rf.UserId = ur.Id; rf.Status = "1"; rf.Role = roleManager.GetRolesForUser(ur.Id).FirstOrDefault(); rf.Rtp = ur.Id; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "申請者"; _context.DelivFlows.Add(rf); // rf = new DelivFlowModel(); rf.DocId = delivery.DocId; rf.StepId = 2; rf.Status = "?"; AppUserModel u; u = _context.AppUsers.Find(Convert.ToInt32(delivery.DelivPson)); rf.UserId = u.Id; rf.Role = roleManager.GetRolesForUser(u.Id).FirstOrDefault(); rf.Rtp = null; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "得標廠商"; _context.DelivFlows.Add(rf); // List <AssetModel> ar = _context.BMEDAssets.Where(a => !string.IsNullOrEmpty(a.Docid)) .Where(a => a.Docid == delivery.PurchaseNo).ToList(); VendorModel v; u = _context.AppUsers.Find(Convert.ToInt32(delivery.UserDpt)); foreach (AssetModel a in ar) { v = _context.BMEDVendors.Where(vv => vv.UniteNo == delivery.VendorId).FirstOrDefault(); if (v != null) { a.VendorId = v.VendorId; } a.DelivUid = u.Id; a.DelivDpt = u.DptId; _context.Entry(a).State = EntityState.Modified; } // _context.SaveChanges(); //---------------------------------------------------------------------------------- // Mail //---------------------------------------------------------------------------------- Tmail mail = new Tmail(); string body = ""; mail.from = new System.Net.Mail.MailAddress(ur.Email); u = _context.AppUsers.Find(Convert.ToInt32(delivery.DelivPson)); mail.to = new System.Net.Mail.MailAddress(u.Email); AppUserModel up = _context.AppUsers.Find(delivery.EngId); if (up != null) { if (!string.IsNullOrEmpty(up.Email)) { mail.cc = new System.Net.Mail.MailAddress(up.Email); } } // mail.message.Subject = "醫療儀器管理資訊系統[驗收案]:採購案號: " + delivery.PurchaseNo; body += "<p>申請人:" + delivery.UserName + "</p>"; body += "<p>合約號碼:" + delivery.ContractNo + "</p>"; body += "<p>採購案號:" + delivery.PurchaseNo + "</p>"; body += "<p><a href='http://dms.cch.org.tw/MvcMedEngMgr'>處理案件</a></p>"; body += "<br/>"; body += "<p>若有任何問題,請與驗收工程師(" + _context.AppUsers.Find(delivery.EngId).FullName + ")聯絡</p>"; body += "<h3>this is a inform letter from system manager.Do not reply for it.</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; //mail.SendMail(); //---------------------------------------------------------------------------------- return(RedirectToAction("Index", "Home", new { Area = "" })); } return(View(delivery)); }
public async Task <IActionResult> NextFlow(AssignModel assign) { var ur = _userRepo.Find(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); /* 工程師的流程控管 */ if (assign.Cls == "設備工程師") { /* 如點選有費用、卻無輸入費用明細 */ var isCharged = _context.BMEDKeepDtls.Where(d => d.DocId == assign.DocId).FirstOrDefault().IsCharged; if (isCharged == "Y") { var CheckRepairCost = _context.BMEDKeepCosts.Where(c => c.DocId == assign.DocId).FirstOrDefault(); if (CheckRepairCost == null) { throw new Exception("尚未輸入費用明細!!"); } } } if (assign.FlowCls == "結案" || assign.FlowCls == "廢除") { assign.FlowUid = ur.Id; } if (ModelState.IsValid) { KeepFlowModel kf = _context.BMEDKeepFlows.Where(f => f.DocId == assign.DocId && f.Status == "?").FirstOrDefault(); if (assign.FlowCls == "驗收人") { if (_context.BMEDKeepEmps.Where(emp => emp.DocId == assign.DocId).Count() <= 0) { throw new Exception("沒有維修工程師紀錄!!"); } else if (_context.BMEDKeepDtls.Find(assign.DocId).EndDate == null) { throw new Exception("沒有完工日!!"); } if (_context.BMEDKeepDtls.Find(assign.DocId).Result == null) { throw new Exception("保養結果不可空白!!"); } if (string.IsNullOrEmpty(_context.BMEDKeepDtls.Find(assign.DocId).InOut)) { throw new Exception("保養方式不可空白!!"); } } if (assign.FlowCls == "結案") { KeepDtlModel kd = _context.BMEDKeepDtls.Find(assign.DocId); kd.CloseDate = DateTime.Now; kf.Opinions = "[" + assign.AssignCls + "]" + Environment.NewLine + assign.AssignOpn; kf.Status = "2"; kf.UserId = ur.Id; kf.UserName = _context.AppUsers.Find(ur.Id).FullName; kf.Rtt = DateTime.Now; kf.Rtp = ur.Id; _context.Entry(kf).State = EntityState.Modified; _context.Entry(kd).State = EntityState.Modified; _context.SaveChanges(); // Save stock to ERP system. //var ERPreponse = await SaveToERPAsync(assign.DocId); //Send Mail //To all users in this keep's flow. Tmail mail = new Tmail(); string body = ""; string sto = ""; AppUserModel u; KeepModel keep = _context.BMEDKeeps.Find(assign.DocId); mail.from = new System.Net.Mail.MailAddress(ur.Email); //u.Email _context.BMEDKeepFlows.Where(f => f.DocId == assign.DocId) .ToList() .ForEach(f => { u = _context.AppUsers.Find(f.UserId); sto += u.Email + ","; }); mail.sto = sto.TrimEnd(new char[] { ',' }); mail.message.Subject = "醫工工務智能保修系統[醫工保養案-結案通知]:設備名稱: " + keep.AssetName; body += "<p>表單編號:" + keep.DocId + "</p>"; body += "<p>送單日期:" + keep.SentDate.Value.ToString("yyyy/MM/dd") + "</p>"; body += "<p>申請人:" + keep.UserName + "</p>"; body += "<p>財產編號:" + keep.AssetNo + "</p>"; body += "<p>設備名稱:" + keep.AssetName + "</p>"; body += "<p>放置地點:" + keep.PlaceLoc + "</p>"; body += "<p>保養結果:" + kd.Result + "</p>"; body += "<p>保養描述:" + kd.Memo + "</p>"; body += "<p><a href='http://dms.cch.org.tw/EDIS/Account/Login'" + "?DocId=" + keep.DocId + "&dealType=BMEDKeepViews" + ">檢視案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; body += "<br/>"; //body += "<h3 style='color:red'>如有任何疑問請聯絡工務部,分機3033或7033。<h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } else if (assign.FlowCls == "廢除") { kf.Opinions = "[廢除]" + Environment.NewLine + assign.AssignOpn; kf.Status = "3"; kf.Rtt = DateTime.Now; kf.Rtp = ur.Id; _context.Entry(kf).State = EntityState.Modified; _context.SaveChanges(); } else { //轉送下一關卡 kf.Opinions = "[" + assign.AssignCls + "]" + Environment.NewLine + assign.AssignOpn; kf.Status = "1"; kf.Rtt = DateTime.Now; kf.Rtp = ur.Id; _context.Entry(kf).State = EntityState.Modified; _context.SaveChanges(); // KeepFlowModel flow = new KeepFlowModel(); flow.DocId = assign.DocId; flow.StepId = kf.StepId + 1; flow.UserId = assign.FlowUid.Value; flow.UserName = _context.AppUsers.Find(assign.FlowUid.Value).FullName; flow.Status = "?"; flow.Cls = assign.FlowCls; flow.Rtt = DateTime.Now; _context.BMEDKeepFlows.Add(flow); _context.SaveChanges(); //Send Mail //To user and the next flow user. Tmail mail = new Tmail(); string body = ""; AppUserModel u; KeepModel keep = _context.BMEDKeeps.Find(assign.DocId); mail.from = new System.Net.Mail.MailAddress(ur.Email); //ur.Email u = _context.AppUsers.Find(flow.UserId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工工務智能保修系統[醫工保養案]:設備名稱: " + keep.AssetName; body += "<p>表單編號:" + keep.DocId + "</p>"; body += "<p>送單日期:" + keep.SentDate.Value.ToString("yyyy/MM/dd") + "</p>"; body += "<p>申請人:" + keep.UserName + "</p>"; body += "<p>財產編號:" + keep.AssetNo + "</p>"; body += "<p>設備名稱:" + keep.AssetName + "</p>"; body += "<p>放置地點:" + keep.PlaceLoc + "</p>"; body += "<p><a href='http://dms.cch.org.tw/EDIS/Account/Login'" + "?docId=" + keep.DocId + "&dealType=BMEDKeepEdit" + ">處理案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; body += "<br/>"; //body += "<h3 style='color:red'>如有任何疑問請聯絡工務部,分機3033或7033。<h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } return(new JsonResult(assign) { Value = new { success = true, error = "" } }); } else { string msg = ""; foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors)) { msg += error.ErrorMessage + Environment.NewLine; } throw new Exception(msg); } }
public IActionResult NextFlow(DelivFlowModel DelivFlow) { if (ModelState.IsValid) { // Get Login User's details. var ur = _userRepo.Find(usr => usr.UserName == User.Identity.Name).FirstOrDefault(); if (DelivFlow.SelOpin == "其他" && string.IsNullOrEmpty(DelivFlow.Opinions)) { throw new Exception("請填寫意見欄!!"); } DelivFlowModel rf = _context.DelivFlows.Where(df => df.DocId == DelivFlow.DocId) .Where(df => df.Status == "?").ToList().FirstOrDefault(); if (rf == null) { throw new Exception("查無流程!"); } if (rf.Cls == "得標廠商") { if (_context.BMEDAssets.Where(a => a.Docid == DelivFlow.DocId).Count() <= 0) { throw new Exception("沒有設備紀錄! 請新增設備!"); } } List <DelivFlowModel> rflist = _context.DelivFlows.Where(df => df.DocId == DelivFlow.DocId).ToList(); DeliveryModel r = _context.Deliveries.Find(DelivFlow.DocId); AppUserModel u; Tmail mail; string body = ""; if (DelivFlow.Cls == "結案") { string sto = ""; //KeepDtl rd = db.KeepDtls.Find(KeepFlow.Docid); rf.Opinions = DelivFlow.SelOpin + Environment.NewLine + DelivFlow.Opinions; rf.Status = "2"; rf.Rtt = DateTime.Now; rf.Rtp = ur.Id; _context.Entry(rf).State = EntityState.Modified; _context.SaveChanges(); // mail = new Tmail(); u = _context.AppUsers.Find(ur.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email foreach (DelivFlowModel 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.PurchaseNo; body += "<p>申請人:" + r.UserName + "</p>"; body += "<p>合約號碼:" + r.ContractNo + "</p>"; body += "<p>採購案號:" + r.PurchaseNo + "</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(DelivFlow) { Value = new { success = true, error = "" }, }); } DelivFlow.StepId = rf.StepId + 1; DelivFlow.Rtt = DateTime.Now; switch (DelivFlow.Cls) { case "申請者": DelivFlow.UserId = r.UserId; break; } DelivFlow.Status = "?"; u = _context.AppUsers.Find(DelivFlow.UserId); DelivFlow.Role = roleManager.GetRolesForUser(u.Id).FirstOrDefault(); rf.Opinions = DelivFlow.SelOpin + Environment.NewLine + DelivFlow.Opinions; rf.Status = "1"; rf.Rtp = ur.Id; DelivFlow.Opinions = null; _context.Entry(rf).State = EntityState.Modified; _context.DelivFlows.Add(DelivFlow); _context.SaveChanges(); // mail = new Tmail(); body = ""; u = _context.AppUsers.Find(ur.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email u = _context.AppUsers.Find(DelivFlow.UserId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工智能保修系統[驗收案]:採購案號: " + r.PurchaseNo; body += "<p>申請人:" + r.UserName + "</p>"; body += "<p>合約號碼:" + r.ContractNo + "</p>"; body += "<p>採購案號:" + r.PurchaseNo + "</p>"; body += "<p><a href='http://dms.cch.org.tw/BMED/Account/Login'>處理案件</a></p>"; body += "<br/>"; body += "<p>若有任何問題,請與驗收工程師(" + _context.AppUsers.Find(r.EngId).FullName + ")聯絡</p>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); return(new JsonResult(DelivFlow) { Value = new { success = true, error = "" } }); } else { string msg = ""; foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors)) { msg += error.ErrorMessage + Environment.NewLine; } throw new Exception(msg); } }
public IActionResult Create(KeepModel keep) { AppUserModel ur = _context.AppUsers.Where(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); if (string.IsNullOrEmpty(keep.AssetNo)) { throw new Exception("財產編號不可空白!!"); } string msg = ""; try { if (ModelState.IsValid) { //更新申請人的Email if (string.IsNullOrEmpty(keep.Email)) { throw new Exception("電子信箱不可空白!!"); } AppUserModel a = _context.AppUsers.Find(keep.UserId); a.Email = keep.Email; _context.Entry(a).State = EntityState.Modified; _context.SaveChanges(); // AssetKeepModel kp = _context.BMEDAssetKeeps.Find(keep.AssetNo); AssetModel at = _context.BMEDAssets.Find(keep.AssetNo); // keep.AssetName = _context.BMEDAssets.Find(keep.AssetNo).Cname; keep.EngId = kp.KeepEngId; //keep.AccDpt = at.AccDpt; keep.SentDate = DateTime.Now; keep.Cycle = kp == null ? 0 : (kp.Cycle == null ? 0 : kp.Cycle.Value); keep.Src = "M"; _context.Entry(keep).State = EntityState.Modified; // KeepDtlModel dl = new KeepDtlModel(); var notInExceptDevice = _context.ExceptDevice.Find(keep.AssetNo); /* If can find data in ExceptDevice table, the device is "not" 統包. * It means if value is "Y", the device is 統包 */ if (notInExceptDevice == null) { dl.NotInExceptDevice = "Y"; } else { dl.NotInExceptDevice = "N"; } dl.DocId = keep.DocId; switch (kp == null ? "自行" : kp.InOut) { case "自行": dl.InOut = "0"; break; case "委外": dl.InOut = "1"; break; case "租賃": dl.InOut = "2"; break; case "保固": dl.InOut = "3"; break; default: dl.InOut = "0"; break; } _context.BMEDKeepDtls.Add(dl); _context.SaveChanges(); // KeepFlowModel rf = new KeepFlowModel(); rf.DocId = keep.DocId; rf.StepId = 1; rf.UserId = ur.Id; rf.Status = "1"; //rf.Role = Roles.GetRolesForUser().FirstOrDefault(); rf.Rtp = ur.Id; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "申請者"; _context.BMEDKeepFlows.Add(rf); // rf = new KeepFlowModel(); rf.DocId = keep.DocId; rf.StepId = 2; rf.UserId = kp == null ? ur.Id : kp.KeepEngId; rf.Status = "?"; AppUserModel u = _context.AppUsers.Find(rf.UserId); if (u == null) { throw new Exception("無工程師資料!!"); } //rf.Role = Roles.GetRolesForUser(u.UserName).FirstOrDefault(); rf.Rtp = null; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "設備工程師"; _context.BMEDKeepFlows.Add(rf); _context.SaveChanges(); //send mail Tmail mail = new Tmail(); string body = ""; u = _context.AppUsers.Find(ur.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email //u = _context.AppUsers.Find(kp.KeepEngId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email mail.message.Subject = "醫工工務智能保修系統[醫工保養案]:設備名稱: " + keep.AssetName; body += "<p>表單編號:" + keep.DocId + "</p>"; body += "<p>送單日期:" + keep.SentDate.Value.ToString("yyyy/MM/dd") + "</p>"; body += "<p>申請人:" + keep.UserName + "</p>"; body += "<p>財產編號:" + keep.AssetNo + "</p>"; body += "<p>設備名稱:" + keep.AssetName + "</p>"; body += "<p>放置地點:" + keep.PlaceLoc + "</p>"; body += "<p><a href='http://dms.cch.org.tw/EDIS/Account/Login'" + "?docId=" + keep.DocId + "&dealType=BMEDKeepEdit" + ">處理案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); return(Ok(keep)); } else { msg = ""; foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors)) { msg += error.ErrorMessage + Environment.NewLine; } throw new Exception(msg); } } catch (Exception ex) { msg = ex.Message; } return(BadRequest(msg)); }
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 IActionResult TransToBuyEvaluate() { // Get Login User's details. var user = _userRepo.Find(ur => ur.UserName == User.Identity.Name).FirstOrDefault(); String[] st = { "?", "2" }; var s = _context.BuyFlows.Where(b => st.Contains(b.Status)) .Join(_context.BuyEvaluates, b => b.DocId, e => e.DocId, (b, e) => e).Where(e => !string.IsNullOrEmpty(e.BudgetId)) .Select(e => e.BudgetId).Distinct(); List <BudgetModel> bs = _context.Budgets.Where(b => !s.Contains(b.DocId)).ToList(); BuyEvaluateModel r; BuyFlowModel rf; Tmail mail; string body = ""; AppUserModel a = _context.AppUsers.Find(user.Id); AppUserModel u; DepartmentModel c = _context.Departments.Find(a.DptId); int dc = 0; foreach (BudgetModel b in bs) { r = new BuyEvaluateModel(); if (dc <= 0) { dc = Convert.ToInt32(r.GetID(ref _context)); } else { dc++; } r.DocId = Convert.ToString(dc); r.PlantCnam = b.PlantName; r.PlantEnam = b.PlantName; r.Standard = b.Standard; r.Price = b.Price; r.Amt = b.Amt; r.Unit = b.Unit; r.TotalPrice = b.TotalPrice; r.UserId = a.Id; r.UserName = a.FullName; r.Company = c.DptId == null ? "" : c.Name_C; r.AccDpt = b.AccDpt == null ? "" : b.AccDpt; r.AccDptNam = _context.Departments.Find(b.AccDpt) == null ? "" : _context.Departments.Find(b.AccDpt).Name_C; r.Contact = a.Mobile; r.PlantType = "醫療儀器"; r.Place = r.AccDptNam; if (_context.AppUsers.Where(up => up.FullName == b.EngName && up.Status == "Y").FirstOrDefault() == null) { throw new Exception("無工程師[" + b.EngName + "]資料!!請建立使用者資料。"); } r.EngId = _context.AppUsers.Where(up => up.FullName == b.EngName && up.Status == "Y").FirstOrDefault() == null ? user.Id : _context.AppUsers.Where(up => up.FullName == b.EngName && up.Status == "Y").FirstOrDefault().Id; r.Rtp = a.Id; r.Rtt = DateTime.Now; r.BudgetId = b.DocId; _context.BuyEvaluates.Add(r); // rf = new BuyFlowModel(); rf.DocId = r.DocId; rf.StepId = 1; rf.UserId = user.Id; rf.Status = "1"; rf.Role = roleManager.GetRolesForUser(user.Id).GetValue(0).ToString(); rf.Rtp = user.Id; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "申請者"; _context.BuyFlows.Add(rf); // rf = new BuyFlowModel(); rf.DocId = r.DocId; rf.StepId = 2; rf.UserId = r.EngId; rf.Status = "?"; u = _context.AppUsers.Find(r.EngId); rf.Role = roleManager.GetRolesForUser(u.Id).FirstOrDefault(); rf.Rtp = null; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "設備工程師"; _context.BuyFlows.Add(rf); // try { _context.SaveChanges(); // mail = new Tmail(); body = ""; u = _context.AppUsers.Find(user.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email u = _context.AppUsers.Find(rf.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/MvcMedEngMgr'>處理案件</a></p>"; body += "<br/>"; body += "<h3>this is a inform letter from system manager.Do not reply for it.</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; //mail.SendMail(); } catch (Exception e) { throw new Exception(e.Message); } } return(new JsonResult(bs) { Value = new { success = true, error = "" }, }); }
public ActionResult NextFlow(Assign assign) { var ur = _userRepo.Find(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); if (assign.FlowCls == "結案" || assign.FlowCls == "廢除") { assign.FlowUid = ur.Id; } else { assign.FlowUid = _context.AppUsers.Where(u => u.FullName == assign.ClsNow).Select(u => u.Id).FirstOrDefault(); } Instrument instrument = _db.Instruments.Find(assign.DocId); if (ModelState.IsValid) { OutsideBmedFlow of = _db.OutsideBmedFlows.Where(f => f.DocId == assign.DocId && f.Status == "?").FirstOrDefault(); if (assign.FlowCls == "結案") { of.Opinion = "[" + assign.AssignCls + "]"; if (!string.IsNullOrEmpty(assign.AssignOpn)) { of.Opinion += (Environment.NewLine + assign.AssignOpn); } of.Status = "2"; of.Rtt = DateTime.Now; of.Rtp = assign.FlowUid; of.item1 = assign.item1; of.item2 = assign.item2; of.item3 = assign.item3; of.item4 = assign.item4; of.item5 = assign.item5; of.item6 = assign.item6; of.item7 = assign.item7; _db.Entry(of).State = EntityState.Modified; _db.SaveChanges(); } else if (assign.FlowCls == "廢除") { of.Opinion = "[廢除]"; if (!string.IsNullOrEmpty(assign.AssignOpn)) { of.Opinion += (Environment.NewLine + assign.AssignOpn); } of.Status = "3"; of.Rtt = DateTime.Now; of.Rtp = assign.FlowUid; of.item1 = assign.item1; of.item2 = assign.item2; of.item3 = assign.item3; of.item4 = assign.item4; of.item5 = assign.item5; of.item6 = assign.item6; of.item7 = assign.item7; _db.Entry(of).State = EntityState.Modified; _db.SaveChanges(); } else { //轉送下一關卡 of.Opinion = "[" + assign.AssignCls + "]"; if (!string.IsNullOrEmpty(assign.AssignOpn)) { of.Opinion += (Environment.NewLine + assign.AssignOpn); } of.Status = "1"; of.Rtt = DateTime.Now; of.Rtp = ur.Id; of.item1 = assign.item1; of.item2 = assign.item2; of.item3 = assign.item3; of.item4 = assign.item4; of.item5 = assign.item5; of.item6 = assign.item6; of.item7 = assign.item7; _db.Entry(of).State = EntityState.Modified; _db.SaveChanges(); // OutsideBmedFlow flow = new OutsideBmedFlow(); flow.DocId = assign.DocId; flow.StepId = of.StepId + 1; flow.UserId = assign.FlowUid.Value; flow.UserName = _db.AppUsers.Find(assign.FlowUid.Value).UserName; flow.Status = "?"; flow.Cls = assign.FlowCls; flow.Rtt = DateTime.Now; flow.item1 = assign.item1; flow.item2 = assign.item2; flow.item3 = assign.item3; flow.item4 = assign.item4; flow.item5 = assign.item5; flow.item6 = assign.item6; flow.item7 = assign.item7; _db.OutsideBmedFlows.Add(flow); _db.SaveChanges(); //Send Mail //To user and the next flow user. Tmail mail = new Tmail(); string body = ""; AppUserModel u; //RepairModel repair = _context.BMEDRepairs.Find(assign.DocId); mail.from = new System.Net.Mail.MailAddress(ur.Email); //ur.Email u = _context.AppUsers.Find(flow.UserId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工智能保修系統[外部醫療使用申請] : 品名 : " + instrument.Name; body += "<p>表單編號:" + instrument.DocId + "</p>"; body += "<p>申請日期:" + instrument.ApplyDate.ToString("yyyy/MM/dd") + "</p>"; body += "<p>申請人:" + instrument.UserName + "</p>"; body += "<p>品名:" + instrument.Name + "</p>"; body += "<p><a href='http://dms.cch.org.tw/BMED/Account/Login'" + "?docId=" + instrument.DocId + "&dealType=BMEDRepEdit" + ">處理案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; body += "<br/>"; //body += "<h3 style='color:red'>如有任何疑問請聯絡工務部,分機3033或7033。<h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } return(new JsonResult(assign) { Value = new { success = true, error = "" } }); } else { string msg = ""; foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors)) { msg += error.ErrorMessage + Environment.NewLine; } throw new Exception(msg); } }
public async Task <IActionResult> CreateAsync(DeliveryModel delivery) { string msg = ""; try { if (ModelState.IsValid) { // Get Login User's details. var ur = _userRepo.Find(usr => usr.UserName == User.Identity.Name).FirstOrDefault(); _context.Entry(delivery).State = EntityState.Modified; DelivFlowModel rf = new DelivFlowModel(); rf.DocId = delivery.DocId; rf.StepId = 1; rf.UserId = ur.Id; rf.Status = "1"; rf.Role = roleManager.GetRolesForUser(ur.Id).FirstOrDefault(); rf.Rtp = ur.Id; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "申請者"; _context.DelivFlows.Add(rf); // rf = new DelivFlowModel(); rf.DocId = delivery.DocId; rf.StepId = 2; rf.Status = "?"; AppUserModel u; u = _context.AppUsers.Find(Convert.ToInt32(delivery.DelivPson)); rf.UserId = u.Id; rf.Role = roleManager.GetRolesForUser(u.Id).FirstOrDefault(); rf.Rtp = null; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "得標廠商"; _context.DelivFlows.Add(rf); // List <AssetModel> ar = _context.BMEDAssets.Where(a => !string.IsNullOrEmpty(a.Docid)) .Where(a => a.Docid == delivery.PurchaseNo).ToList(); VendorModel v; u = _context.AppUsers.Find(Convert.ToInt32(delivery.UserDpt)); foreach (AssetModel a in ar) { v = _context.BMEDVendors.Where(vv => vv.UniteNo == delivery.VendorId).FirstOrDefault(); if (v != null) { a.VendorId = v.VendorId; } a.DelivUid = u.Id; a.DelivDpt = u.DptId; _context.Entry(a).State = EntityState.Modified; } // //AssetAdd(delivery.ContractNo, delivery.BudgetId);//.GetAwaiter().GetResult(); // if (!string.IsNullOrEmpty(delivery.ContractNo) && !string.IsNullOrEmpty(delivery.BudgetId)) { List <QryVendorData> rv = new List <QryVendorData>(); var s = "[" + "{" + "type:" + "null" + "," + "contract_no:" + delivery.ContractNo + "}" + "]";//new { type, contract_no }.ToString().Replace("=", ":");//"[" + "{" + "type:" + type + "," + "contract_no:" + contract_no + "}" + "]"; // var s = "{"+"type:" + type + "," + "contract_no:" + contract_no+"}"; HttpClient client = new HttpClient(); //var str = JsonConvert.SerializeObject(s); HttpContent content = new StringContent(s, Encoding.UTF8, "application/json"); client.BaseAddress = new Uri("https://api.cch.org.tw/HIS_WS_CONTRACT/"); // string url = "AssetApi/Get_Info"; //BmedWebApi client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); //HttpResponseMessage response = await client.GetAsync(url); HttpResponseMessage response = await client.PostAsync(url, content); string rstr = ""; if (response.IsSuccessStatusCode) { rstr = await response.Content.ReadAsStringAsync(); if (!string.IsNullOrEmpty(rstr)) { rv.AddRange(JsonConvert.DeserializeObject <List <QryVendorData> >(rstr)); } } client.Dispose(); if (rv.Where(r => r.CONTRACT_NO.Contains("Error")).Count() > 0 || rv == null || rv.Count() <= 0) { } else { rv = rv.Where(r => r.PURCHASE_NO == delivery.BudgetId) .GroupJoin(_context.BMEDAssets, r => r.ASSET_NO, a => a.AssetNo, (r, a) => new { r, a }) .SelectMany(x => x.a.DefaultIfEmpty(), (r, a) => new { vendor = r.r, a }) .Where(x => x.a == null) .Select(x => x.vendor) .ToList(); if (rv.Count > 0) { AssetModel asset = new AssetModel(); rv.ForEach(r => { asset.AssetNo = r.ASSET_NO; asset.AssetClass = "醫療儀器"; asset.Cname = r.PLANT_NAME; asset.AccDate = null; asset.BuyDate = null; asset.RelDate = null; asset.Brand = r.BRAND; asset.Type = r.MODEL; asset.VendorId = Int32.Parse(r.VENDOR_NO); asset.DisposeKind = "正常"; asset.DelivDpt = r.DELIV_DPT; asset.AccDpt = r.DPT_COD; asset.Rtt = DateTime.Now; _context.BMEDAssets.Add(asset); }); } } } //_context.BMEDAssets.Add(assets); //_context.SaveChanges(); await _context.SaveChangesAsync(); //---------------------------------------------------------------------------------- // Mail //---------------------------------------------------------------------------------- Tmail mail = new Tmail(); string body = ""; mail.from = new System.Net.Mail.MailAddress(ur.Email); u = _context.AppUsers.Find(Convert.ToInt32(delivery.DelivPson)); mail.to = new System.Net.Mail.MailAddress(u.Email); AppUserModel up = _context.AppUsers.Find(delivery.EngId); if (up != null) { if (!string.IsNullOrEmpty(up.Email)) { mail.cc = new System.Net.Mail.MailAddress(up.Email); } } // mail.message.Subject = "醫工智能保修系統[驗收案]:採購案號: " + delivery.PurchaseNo; body += "<p>申請人:" + delivery.UserName + "</p>"; body += "<p>合約號碼:" + delivery.ContractNo + "</p>"; body += "<p>採購案號:" + delivery.PurchaseNo + "</p>"; body += "<p><a href='http://dms.cch.org.tw/BMED/Account/Login'>處理案件</a></p>"; body += "<br/>"; body += "<p>若有任何問題,請與驗收工程師(" + _context.AppUsers.Find(delivery.EngId).FullName + ")聯絡</p>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); //---------------------------------------------------------------------------------- return(RedirectToAction("Index", "Home", new { Area = "" })); } else { foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors)) { msg += error.ErrorMessage + Environment.NewLine; } } } catch (Exception ex) { msg = ex.Message; } return(BadRequest(msg)); }
public IActionResult Create(BuyEvaluateModel buyevaluate) { if (ModelState.IsValid) { // Get Login User's details. var user = _userRepo.Find(ur => ur.UserName == User.Identity.Name).FirstOrDefault(); DepartmentModel dpt = _context.Departments.Where(d => d.Name_C == buyevaluate.AccDptNam).FirstOrDefault(); if (dpt != null) { buyevaluate.AccDpt = dpt.DptId; } else { ModelState.AddModelError("", "成本中心無此資料!!"); return(View(buyevaluate)); } buyevaluate.Rtp = user.Id; buyevaluate.Rtt = DateTime.Now; _context.Entry(buyevaluate).State = EntityState.Modified; // BuyFlowModel rf = new BuyFlowModel(); rf.DocId = buyevaluate.DocId; rf.StepId = 1; rf.UserId = user.Id; rf.Status = "1"; rf.Role = roleManager.GetRolesForUser(user.Id).GetValue(0).ToString(); rf.Rtp = user.Id; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "申請者"; _context.BuyFlows.Add(rf); // rf = new BuyFlowModel(); rf.DocId = buyevaluate.DocId; rf.StepId = 2; rf.UserId = buyevaluate.EngId; rf.Status = "?"; AppUserModel u = _context.AppUsers.Find(buyevaluate.EngId); rf.Role = roleManager.GetRolesForUser(u.Id).FirstOrDefault(); rf.Rtp = null; rf.Rdt = null; rf.Rtt = DateTime.Now; rf.Cls = "設備工程師"; _context.BuyFlows.Add(rf); // _context.SaveChanges(); // Tmail mail = new Tmail(); string body = ""; u = _context.AppUsers.Find(user.Id); mail.from = new System.Net.Mail.MailAddress(u.Email); //u.Email u = _context.AppUsers.Find(buyevaluate.PurchaserId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫療儀器管理資訊系統[採購評估案]:儀器名稱: " + buyevaluate.PlantCnam; body += "<p>申請人:" + buyevaluate.UserName + "</p>"; body += "<p>儀器名稱:" + buyevaluate.PlantCnam + "</p>"; body += "<p><a href='http://dms.cch.org.tw/MvcMedEngMgr'>處理案件</a></p>"; body += "<br/>"; body += "<h3>this is a inform letter from system manager. Do not reply for it.</h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; //mail.SendMail(); return(RedirectToAction("Index", "Home", new { Area = "" })); } return(View(buyevaluate)); }
public async Task <IActionResult> NextFlow(AssignModel assign) { var ur = _userRepo.Find(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); var repairDtl = _context.BMEDRepairDtls.Find(assign.DocId); /* 工程師的流程控管 */ if (assign.Cls == "設備工程師") { /* 如點選有費用、卻無輸入費用明細 */ var isCharged = _context.BMEDRepairDtls.Where(d => d.DocId == assign.DocId).FirstOrDefault().IsCharged; if (isCharged == "Y") { var CheckRepairCost = _context.BMEDRepairCosts.Where(c => c.DocId == assign.DocId).FirstOrDefault(); if (CheckRepairCost == null) { throw new Exception("尚未輸入費用明細!!"); } } } // var repairDtl = _context.BMEDRepairDtls.Where(d => d.DocId == assign.DocId).FirstOrDefault(); // /* 3 = 已完成,4 = 報廢 */ // if (repairDtl.DealState == 3 || repairDtl.DealState == 4) // { // if(repairDtl.EndDate == null) // { // throw new Exception("報廢及已完成,需輸入完工日!!"); // } // } if (assign.FlowCls == "結案" || assign.FlowCls == "廢除") { assign.FlowUid = ur.Id; } if (ModelState.IsValid) { RepairFlowModel rf = _context.BMEDRepairFlows.Where(f => f.DocId == assign.DocId && f.Status == "?").FirstOrDefault(); if (assign.FlowCls == "驗收人") { if (_context.BMEDRepairEmps.Where(emp => emp.DocId == assign.DocId).Count() <= 0) { throw new Exception("沒有維修工程師紀錄!!"); } else if (_context.BMEDRepairDtls.Find(assign.DocId).EndDate == null) { throw new Exception("沒有完工日!!"); } else if (_context.BMEDRepairDtls.Find(assign.DocId).DealState == 0) { throw new Exception("處理狀態不可空值!!"); } if (_context.BMEDRepairDtls.Find(assign.DocId).FailFactor == 0) { throw new Exception("故障原因不可空白!!"); } if (string.IsNullOrEmpty(_context.BMEDRepairDtls.Find(assign.DocId).InOut)) { throw new Exception("維修方式不可空白!!"); } if (_context.BMEDRepairDtls.Find(assign.DocId).DealState == 3 || _context.BMEDRepairDtls.Find(assign.DocId).DealState == 4 || _context.BMEDRepairDtls.Find(assign.DocId).DealState == 8) { //Do nothing. //狀態為【已完成】、【報廢】、【退件】才可送至驗收人 } else { throw new Exception("送至驗收人處理狀態只可為【已完成】、【報廢】、【退件】!!"); } } if (assign.FlowCls == "結案") { if (assign.Cls == "驗收人" && repairDtl != null) { if (repairDtl.IsCharged == "Y") { throw new Exception("有費用之案件不可由驗收人直接結案!"); } } RepairDtlModel rd = _context.BMEDRepairDtls.Find(assign.DocId); rd.CloseDate = DateTime.Now; rf.Opinions = "[" + assign.AssignCls + "]" + Environment.NewLine + assign.AssignOpn; rf.Status = "2"; rf.UserId = ur.Id; rf.UserName = _context.AppUsers.Find(ur.Id).FullName; rf.Rtt = DateTime.Now; rf.Rtp = ur.Id; _context.Entry(rf).State = EntityState.Modified; _context.Entry(rd).State = EntityState.Modified; _context.SaveChanges(); // Save stock to ERP system. var ERPreponse = await SaveToERPAsync(assign.DocId); //Send Mail //To all users in this repair's flow. Tmail mail = new Tmail(); string body = ""; string sto = ""; AppUserModel u; RepairModel repair = _context.BMEDRepairs.Find(assign.DocId); mail.from = new System.Net.Mail.MailAddress(ur.Email); //u.Email _context.BMEDRepairFlows.Where(f => f.DocId == assign.DocId) .ToList() .ForEach(f => { u = _context.AppUsers.Find(f.UserId); sto += u.Email + ","; }); mail.sto = sto.TrimEnd(new char[] { ',' }); mail.message.Subject = "醫工工務智能保修系統[醫工請修案-結案通知]:設備名稱: " + repair.AssetName; body += "<p>表單編號:" + repair.DocId + "</p>"; body += "<p>申請日期:" + repair.ApplyDate.ToString("yyyy/MM/dd") + "</p>"; body += "<p>申請人:" + repair.UserName + "</p>"; body += "<p>財產編號:" + repair.AssetNo + "</p>"; body += "<p>設備名稱:" + repair.AssetName + "</p>"; //body += "<p>請修地點:" + repair.PlaceLoc + " " + repair.BuildingName + " " + repair.FloorName + " " + repair.AreaName + "</p>"; body += "<p>放置地點:" + repair.PlaceLoc + "</p>"; body += "<p>故障描述:" + repair.TroubleDes + "</p>"; body += "<p>處理描述:" + rd.DealDes + "</p>"; body += "<p><a href='http://dms.cch.org.tw/EDIS/Account/Login'" + "?DocId=" + repair.DocId + "&dealType=BMEDRepViews" + ">檢視案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; body += "<br/>"; //body += "<h3 style='color:red'>如有任何疑問請聯絡工務部,分機3033或7033。<h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } else if (assign.FlowCls == "廢除") { rf.Opinions = "[廢除]" + Environment.NewLine + assign.AssignOpn; rf.Status = "3"; rf.Rtt = DateTime.Now; rf.Rtp = ur.Id; _context.Entry(rf).State = EntityState.Modified; _context.SaveChanges(); } else { //轉送下一關卡 rf.Opinions = "[" + assign.AssignCls + "]" + Environment.NewLine + assign.AssignOpn; rf.Status = "1"; rf.Rtt = DateTime.Now; rf.Rtp = ur.Id; _context.Entry(rf).State = EntityState.Modified; _context.SaveChanges(); // RepairFlowModel flow = new RepairFlowModel(); flow.DocId = assign.DocId; flow.StepId = rf.StepId + 1; flow.UserId = assign.FlowUid.Value; flow.UserName = _context.AppUsers.Find(assign.FlowUid.Value).FullName; flow.Status = "?"; flow.Cls = assign.FlowCls; flow.Rtt = DateTime.Now; _context.BMEDRepairFlows.Add(flow); _context.SaveChanges(); //Send Mail //To user and the next flow user. Tmail mail = new Tmail(); string body = ""; AppUserModel u; RepairModel repair = _context.BMEDRepairs.Find(assign.DocId); mail.from = new System.Net.Mail.MailAddress(ur.Email); //ur.Email u = _context.AppUsers.Find(flow.UserId); mail.to = new System.Net.Mail.MailAddress(u.Email); //u.Email //mail.cc = new System.Net.Mail.MailAddress("*****@*****.**"); mail.message.Subject = "醫工工務智能保修系統[醫工請修案]:設備名稱: " + repair.AssetName; body += "<p>表單編號:" + repair.DocId + "</p>"; body += "<p>申請日期:" + repair.ApplyDate.ToString("yyyy/MM/dd") + "</p>"; body += "<p>申請人:" + repair.UserName + "</p>"; body += "<p>財產編號:" + repair.AssetNo + "</p>"; body += "<p>設備名稱:" + repair.AssetName + "</p>"; body += "<p>故障描述:" + repair.TroubleDes + "</p>"; //body += "<p>請修地點:" + repair.PlaceLoc + " " + repair.BuildingName + " " + repair.FloorName + " " + repair.AreaName + "</p>"; body += "<p>放置地點:" + repair.PlaceLoc + "</p>"; body += "<p><a href='http://dms.cch.org.tw/EDIS/Account/Login'" + "?docId=" + repair.DocId + "&dealType=BMEDRepEdit" + ">處理案件</a></p>"; body += "<br/>"; body += "<h3>此封信件為系統通知郵件,請勿回覆。</h3>"; body += "<br/>"; //body += "<h3 style='color:red'>如有任何疑問請聯絡工務部,分機3033或7033。<h3>"; mail.message.Body = body; mail.message.IsBodyHtml = true; mail.SendMail(); } return(new JsonResult(assign) { Value = new { success = true, error = "" } }); } else { string msg = ""; foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors)) { msg += error.ErrorMessage + Environment.NewLine; } throw new Exception(msg); } }