public IActionResult DeleteConfirmed(string id)
 {
     DelivFlowModel delivflow = _context.DelivFlows.Find(id);
     _context.DelivFlows.Remove(delivflow);
     _context.SaveChanges();
     return RedirectToAction("Index");
 }
        public async Task <IViewComponentResult> InvokeAsync(string id)
        {
            var            docId = id;
            DelivFlowModel rf    = _context.DelivFlows.Where(df => df.DocId == docId && df.Status == "?")
                                   .ToList().FirstOrDefault();

            if (rf != null)
            {
                rf.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 = "得標廠商"
                });
                //listItem.Add(new SelectListItem { Text = "使用單位", Value = "使用單位" });
                listItem.Add(new SelectListItem {
                    Text = "設備經辦", Value = "設備經辦"
                });
                //listItem.Add(new SelectListItem { Text = "採購主管", Value = "採購主管" });
                if (rf.Cls == "設備主管")
                {
                    listItem.Add(new SelectListItem {
                        Text = "結案", Value = "結案"
                    });
                }
                ViewData["Item"] = new SelectList(listItem, "Value", "Text", "");
                //
                List <SelectListItem> listItem2 = new List <SelectListItem>();
                listItem2.Add(new SelectListItem {
                    Text = "", Value = ""
                });
                ViewData["Item2"] = new SelectList(listItem2, "Value", "Text", "");
                rf.Cls            = "";
                //
                //DeliveryModel ra = _context.Deliveries.Find(id);
                //if (ra != null)
                //{
                //    string cid = _context.AppUsers.Find(ra.UserId).DptId;
                //    string gid = _context.Departments.Find(cid).GroupId;
                //    if (gid != null)
                //    {
                //        rf.FlowHint = db.Groups.Find(gid).FlowHint4;
                //    }
                //}
                rf.SelOpin = "同意";
            }

            return(View(rf));
        }
        //
        // GET: /BMED/DelivFlow/Delete/5

        public IActionResult Delete(string id = null)
        {
            DelivFlowModel delivflow = _context.DelivFlows.Find(id);
            if (delivflow == null)
            {
                return NotFound();
            }
            return View(delivflow);
        }
Beispiel #4
0
 public IActionResult Edit(DelivFlowModel delivflow)
 {
     if (ModelState.IsValid)
     {
         _context.Entry(delivflow).State = EntityState.Modified;
         _context.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(delivflow));
 }
Beispiel #5
0
        // GET: /BMED/DelivFlow/Edit/5
        public IActionResult Edit(string id = null)
        {
            DelivFlowModel delivflow = _context.DelivFlows.Find(id);

            if (delivflow == null)
            {
                return(NotFound());
            }
            return(View(delivflow));
        }
Beispiel #6
0
        public IActionResult Create(DelivFlowModel delivflow)
        {
            if (ModelState.IsValid)
            {
                _context.DelivFlows.Add(delivflow);
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(delivflow));
        }
        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));
        }
Beispiel #8
0
        public JsonResult GetNextEmp(string cls = null, string docid = null, string vendor = null)
        {
            // Get Login User's details.
            var ur = _userRepo.Find(usr => usr.UserName == User.Identity.Name).FirstOrDefault();

            List <SelectListItem> list = new List <SelectListItem>();
            List <string>         s;
            SelectListItem        li;
            DeliveryModel         r = _context.Deliveries.Find(docid);
            //string c = db.UserProfiles.Find(r.UserId).CustId;
            string c = _context.AppUsers.Find(ur.Id).DptId;
            //string g = _context.CustOrgans.Find(c).GroupId;
            AppUserModel        u;
            List <AppUserModel> uv;

            switch (cls)
            {
            case "設備工程師":
                s = roleManager.GetUsersInRole("MedEngineer").ToList();
                s = s.OrderBy(ss => ss).ToList();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();
                    if (u != null)
                    {
                        li       = new SelectListItem();
                        li.Text  = "(" + u.UserName + ")" + u.FullName;
                        li.Value = u.Id.ToString();
                        if (li.Value == Convert.ToString(r.EngId))
                        {
                            list.Insert(0, li);
                        }
                        else
                        {
                            list.Add(li);
                        }
                    }
                }
                //u = db.UserProfiles.Find(r.EngId);
                //if (u != null)
                //{
                //    li = new ListItem();
                //    li.Text = u.FullName;
                //    li.Value = u.UserId.ToString();
                //    list.Add(li);
                //}
                break;

            case "設備主管":
                s = roleManager.GetUsersInRole("MedMgr").ToList();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();
                    if (u != null)
                    {
                        if (u.Status == "Y")
                        {
                            li       = new SelectListItem();
                            li.Text  = "(" + u.UserName + ")" + u.FullName;
                            li.Value = u.Id.ToString();
                            list.Add(li);
                        }
                    }
                }
                break;

            case "單位主管":
                s = roleManager.GetUsersInRole("Manager").ToList();
                string dptid = _context.AppUsers.Find(r.UserId).DptId;
                list = new List <SelectListItem>();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();
                    if (u != null)
                    {
                        if (u.DptId == dptid)
                        {
                            li       = new SelectListItem();
                            li.Text  = "(" + u.UserName + ")" + u.FullName;
                            li.Value = u.Id.ToString();
                            list.Add(li);
                        }
                    }
                }
                break;

            case "申請者":
                if (r != null)
                {
                    u = _context.AppUsers.Find(r.UserId);
                    if (u != null)
                    {
                        list     = new List <SelectListItem>();
                        li       = new SelectListItem();
                        li.Text  = "(" + u.UserName + ")" + r.UserName;
                        li.Value = r.UserId.ToString();
                        list.Add(li);
                    }
                }
                break;

            case "採購人員":
                if (r != null)
                {
                    li       = new SelectListItem();
                    li.Text  = _context.AppUsers.Find(r.PurchaserId).FullName;
                    li.Value = r.PurchaserId.ToString();
                    list.Add(li);
                }
                break;

            case "得標廠商":
                List <VendorModel> vv = _context.BMEDVendors.Where(v => v.UniteNo == r.VendorId).ToList();
                foreach (VendorModel v in vv)
                {
                    uv = _context.AppUsers.Where(u2 => u2.VendorId == v.VendorId).ToList();
                    foreach (AppUserModel u3 in uv)
                    {
                        li       = new SelectListItem();
                        li.Text  = u3.FullName;
                        li.Value = u3.Id.ToString();
                        list.Add(li);
                    }
                }
                break;

            case "使用單位":
                DelivFlowModel df = _context.DelivFlows.Where(d => d.DocId == r.DocId)
                                    .Where(d => d.Cls == "使用單位").FirstOrDefault();
                if (df != null)
                {
                    u = _context.AppUsers.Find(df.UserId);
                    if (u != null)
                    {
                        li       = new SelectListItem();
                        li.Text  = "(" + u.UserName + ")" + u.FullName;
                        li.Value = u.Id.ToString();
                        list.Add(li);
                    }
                }
                break;

            case "設備經辦":
                s = roleManager.GetUsersInRole("MedToDo").ToList();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();
                    if (u != null)
                    {
                        li       = new SelectListItem();
                        li.Text  = "(" + u.UserName + ")" + u.FullName;
                        li.Value = u.Id.ToString();
                        list.Add(li);
                    }
                }
                break;

            case "採購主管":
                s = roleManager.GetUsersInRole("BuyerMgr").ToList();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();
                    if (u != null)
                    {
                        li       = new SelectListItem();
                        li.Text  = "(" + u.UserName + ")" + u.FullName;
                        li.Value = u.Id.ToString();
                        list.Add(li);
                    }
                }
                break;

            case "賀康主管":
                s    = roleManager.GetUsersInRole("MedAssetMgr").ToList();
                list = new List <SelectListItem>();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();

                    if (u != null && u.Status == "Y")
                    {
                        DepartmentModel o = _context.Departments.Find(u.DptId);
                        //DepartmentModel e = _context.Departments.Where( n => n.Name_C == r.Place).FirstOrDefault();
                        if (o.Loc == "C" || o.Loc == "P" || o.Loc == "K")
                        {
                            li       = new SelectListItem();
                            li.Text  = "(" + u.UserName + ")" + u.FullName;
                            li.Value = u.Id.ToString();
                            list.Add(li);
                        }
                        else if (o.Loc != "C" || o.Loc != "P" || o.Loc != "K")
                        {
                            li       = new SelectListItem();
                            li.Text  = "(" + u.UserName + ")" + u.FullName;
                            li.Value = u.Id.ToString();
                            list.Add(li);
                        }
                    }
                }
                break;

            case "資訊工程師":
                list = new List <SelectListItem>();
                s    = roleManager.GetUsersInRole("IT_Engineer").ToList();
                foreach (string l in s)
                {
                    u = _context.AppUsers.Where(usr => usr.UserName == l).FirstOrDefault();
                    if (u != null)
                    {
                        if (u.Status == "Y")
                        {
                            li       = new SelectListItem();
                            li.Text  = "(" + u.UserName + ")" + u.FullName;
                            li.Value = u.Id.ToString();
                            list.Add(li);
                        }
                    }
                }
                break;

            default:
                break;
            }
            return(Json(list));
        }
Beispiel #9
0
        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);
            }
        }
Beispiel #10
0
        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));
        }