// // GET: /BuyEvaluate/Create public IActionResult Create() { // Get Login User's details. var u = _userRepo.Find(ur => ur.UserName == User.Identity.Name).FirstOrDefault(); BuyEvaluateModel r = new BuyEvaluateModel(); DepartmentModel d = _context.Departments.Find(u.DptId); VendorModel v = _context.BMEDVendors.Find(u.VendorId); r.DocId = r.GetID(ref _context); r.UserId = u.Id; r.UserName = u.FullName; r.Company = d.DptId == null ? "" : d.Name_C; r.AccDpt = d.DptId == null ? "" : d.DptId; r.AccDptNam = d.DptId == null ? "" : d.Name_C; r.Contact = u.Mobile; r.PlantType = "醫療儀器"; r.Place = r.AccDptNam; r.Rtt = DateTime.Now; _context.BuyEvaluates.Add(r); _context.SaveChanges(); List <SelectListItem> listItem = new List <SelectListItem>(); List <SelectListItem> listItem2 = new List <SelectListItem>(); List <SelectListItem> listItem3 = new List <SelectListItem>(); listItem3.Add(new SelectListItem { Text = "醫療儀器", Value = "醫療儀器" }); listItem3.Add(new SelectListItem { Text = "資訊設備", Value = "資訊設備" }); ViewData["PTYPE"] = new SelectList(listItem3, "Value", "Text", "醫療儀器"); string[] eng = roleManager.GetUsersInRole("MedEngineer"); string[] buyer = roleManager.GetUsersInRole("Buyer"); AppUserModel p; foreach (string s in eng) { p = _context.AppUsers.Where(ur => ur.UserName == s).FirstOrDefault(); if (p != null) { listItem.Add(new SelectListItem { Text = "(" + p.UserName + ")" + p.FullName, Value = p.Id.ToString() }); } } ViewData["ENG"] = new SelectList(listItem, "Value", "Text"); // foreach (string s2 in buyer) { p = _context.AppUsers.Where(ur => ur.UserName == s2).FirstOrDefault(); if (p != null) { listItem2.Add(new SelectListItem { Text = "(" + p.UserName + ")" + p.FullName, Value = p.Id.ToString() }); } } ViewData["PUR"] = new SelectList(listItem2, "Value", "Text"); return(View(r)); }
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 = "" }, }); }