public async Task <IViewComponentResult> InvokeAsync(string id) { Assign assign = new Assign(); Instrument data = _db.Instruments.Find(id); OutsideBmedFlow of = _db.OutsideBmedFlows.Where(o => o.DocId == id).OrderBy(o => o.Rtt == data.ApplyDate).ToList().Last(); assign.item1 = of.item1; assign.item2 = of.item2; assign.item3 = of.item3; assign.item4 = of.item4; assign.item5 = of.item5; assign.item6 = of.item6; assign.item7 = of.item7; assign.Application = data.Application; assign.Content = data.Content; return(View(assign)); }
public ActionResult TransToMe(string docid) { Instrument instrument = _db.Instruments.Find(docid); //AppUser appUser = db.AppUsers.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); if (ModelState.IsValid) { string[] s = new string[] { "?", "2" }; OutsideBmedFlow rf = _db.OutsideBmedFlows.Where(f => f.DocId == docid && s.Contains(f.Status)).FirstOrDefault(); // //轉送下一關卡 rf.Opinion = "[改變流程]" + Environment.NewLine + "流程已經被" + "" + "更改。"; rf.Status = "1"; rf.Rtt = DateTime.Now; rf.Rtp = 123456; _db.Entry(rf).State = EntityState.Modified; _db.SaveChanges(); // OutsideBmedFlow flow = new OutsideBmedFlow(); flow.DocId = docid; flow.StepId = rf.StepId + 1; flow.UserId = 123456; flow.UserName = "******"; flow.Status = "?"; flow.Cls = ""; flow.Rtt = DateTime.Now; _db.OutsideBmedFlows.Add(flow); _db.SaveChanges(); ///Send Mail throw new Exception(" "); } 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 <IViewComponentResult> InvokeAsync(string id) { Assign assign = new Assign(); assign.DocId = id; List <SelectListItem> listItem = new List <SelectListItem>(); listItem.Add(new SelectListItem { Text = "申請者", Value = "申請者" }); listItem.Add(new SelectListItem { Text = "單位主管", Value = "單位主管" }); listItem.Add(new SelectListItem { Text = "醫工承辦", Value = "醫工承辦" }); listItem.Add(new SelectListItem { Text = "醫工工程師", Value = "醫工工程師" }); //listItem.Add(new SelectListItem { Text = "專責單位", Value = "專責單位" }); listItem.Add(new SelectListItem { Text = "醫工部主管", Value = "醫工部主管" }); Instrument sdata = _db.Instruments.Find(id); OutsideBmedFlow of = _db.OutsideBmedFlows.Where(f => f.DocId == id && f.Status == "?").FirstOrDefault(); var ur = _userRepo.Find(uf => uf.UserName == this.User.Identity.Name).FirstOrDefault(); var rel = roleManager.GetRolesForUser(ur.Id); //AppUser appUser = db.AppUsers.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); if (of != null) { assign.ClsNow = of.Cls; if (sdata != null) { if (of.Cls == "醫工主管" && rel.Contains("MedMgr")) { listItem.Add(new SelectListItem { Text = "結案", Value = "結案" }); } } if (of.Cls == "申請人") { listItem.Add(new SelectListItem { Text = "廢除", Value = "廢除" }); } } ViewData["FlowCls"] = new SelectList(listItem, "Value", "Text", ""); List <SelectListItem> listItem3 = new List <SelectListItem>(); ViewData["ClsNow"] = new SelectList(listItem3, "Value", "Text", ""); //assign.Hint = ""; assign.FlowUid = sdata.ToUserId; assign.Application = sdata.Application; assign.item1 = of.item1; assign.item2 = of.item2; assign.item3 = of.item3; assign.item4 = of.item4; assign.item5 = of.item5; assign.item6 = of.item6; assign.item7 = of.item7; assign.Hint = "申請者→申請單位主管→醫工承辦(施曉婷)→醫工部工程師→醫工部主管→結案"; return(View(assign)); }
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); } }