// // GET: /F_CERL/Details/5 public ActionResult Details(int id = 0) { vFCERL vfcerl = db.vFCERL.Find(id); if (vfcerl == null) { return(HttpNotFound()); } InitAttachFiles(vfcerl.fID); IEnumerable <vTaskDetail> vTaskDetail = GetTaskDetail(vfcerl.fID); ViewData["vTaskDetail"] = vTaskDetail; return(View(vfcerl)); }
protected void InitDDL2(string ddlName, string root, int iWhere, vFCERL fcerl) { string[] stringArray = { "siteList", "testList", "requestList" }; string[] MemberArray = { "SupervisorList", "LocalSupervisorList", "LabMemberList" }; var initlist = edb.FnGeneralDropDownList(ddlName, root).Select(x => new { Id = x.Id, Name = x.Name }).ToList(); if (stringArray.Contains(ddlName)) { initlist = edb.FnTestItemMenuDropDownList(root.ToString()).Where(y => y.lvl == iWhere).Select(x => new { Id = x.Id, Name = x.Name }).ToList(); } if (MemberArray.Contains(ddlName)) { initlist = edb.FnMemberDropDownList(ddlName, root).Select(x => new { Id = x.BadgeCode, Name = x.Name }).ToList(); } string selectedvalue = ""; if (fcerl != null) { switch (ddlName) { case "siteList": selectedvalue = fcerl.Site.ToString(); break; case "testList": selectedvalue = fcerl.TestItem.ToString(); break; case "requestList": selectedvalue = fcerl.RequestItem.ToString(); break; case "LabMemberList": selectedvalue = fcerl.LabMember; break; case "ProcessStepList": selectedvalue = fcerl.ProcessStep.ToString(); break; case "TestPurposeList": selectedvalue = fcerl.TestPurpose.ToString(); break; case "IssueSourceList": selectedvalue = fcerl.IssueSource.ToString(); break; case "FailureSiteList": selectedvalue = fcerl.FailureSite.ToString(); break; case "ReturnTypeList": selectedvalue = fcerl.ReturnType.ToString(); break; case "CustomerNameList": selectedvalue = fcerl.CustomerID.ToString(); break; default: break; } } else { switch (ddlName) { case "UserRoleList": selectedvalue = iWhere.ToString(); break; default: break; } } List <SelectListItem> initList = new List <SelectListItem>(); initList.Add(new SelectListItem() { Text = "", Value = "" }); foreach (var item in initlist) { initList.Add(new SelectListItem() { Text = item.Name, Value = item.Id.ToString(), Selected = (item.Id.ToString() == selectedvalue) }); } SelectList cList = new SelectList(initList, "Value", "Text"); ViewData[ddlName] = cList; Session[ddlName] = cList; }
public string SendMail(FlowPath fp, string fID) { string fnSendMail = "RouteWork_SendMail(FlowPath fp, string fID)"; int errorline = 312; int inState = int.Parse(fp.inState.ToString()); //http://iec1-aptest.iec.inventec/CERLLAB/F_CERL/DetailsLAB/ string FormUrl = _cerllabwebsite + @"/F_CERL/EditLAB/"; string Form1Url = _cerllabwebsite + @"/F_CERL/EditLAB/"; string Form2Url = _cerllabwebsite + @"/F_CERL/DetailsLAB/"; string newLine2 = "<br />\r\n"; string newLine = "\r\n"; StringBuilder Body = new StringBuilder(); FormUrl = (fp.outState >= 1000) ? Form2Url : Form1Url; vFCERL fcerl = db.vFCERL.Where(x => x.fID == fID).FirstOrDefault(); string editor = db.userprofile.Where(x => x.BadgeCode == UserId).Select(x => x.ChtName).FirstOrDefault(); string ID = fcerl.ID.ToString(); try { string tableStyle = "table-layout: fixed;width:100%;border:1px solid;"; string thStyle = "color:#ffffff;background:#0078ae;font-weight:bold;width:30%;border:1px solid;"; string tdStyle = "width:70%;border:1px solid;"; Body.Append(Method.BuildXML2(Method.BuildXML2("簽核者", "th", thStyle) + Method.BuildXML2(editor, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("UID", "th", thStyle) + Method.BuildXML2(fcerl.UID, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("Case ID", "th", thStyle) + Method.BuildXML2(fcerl.CaseID, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("申請人", "th", thStyle) + Method.BuildXML2(fcerl.Applicant, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("Background Desc.", "th", thStyle) + Method.BuildXML2(fcerl.BackgroundDesc, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("Tester", "th", thStyle) + Method.BuildXML2(fcerl.LabMember, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("Analysis Result", "th", thStyle) + Method.BuildXML2(fcerl.AnalysisResult, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("Comment", "th", thStyle) + Method.BuildXML2(fcerl.Comment, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("已完成階段", "th", thStyle) + Method.BuildXML2(fp.inStateName, "td", tdStyle), "tr")); Body.Append(Method.BuildXML2(Method.BuildXML2("下個階段", "th", thStyle) + Method.BuildXML2(fp.outStateName, "td", tdStyle), "tr")); string EmailTitile = ""; string outStateTitle = fp.outStateName; StringBuilder classstyle = new StringBuilder("<style type='text/css'>"); classstyle.Append("table{table-layout: fixed;width:100%;border:1px solid;}"); classstyle.Append("th{color:#ffffff;background:#0078ae;font-weight:bold;width:30%;border:1px solid;}"); classstyle.Append("td{width:70%;border:1px solid;}"); classstyle.Append("</style>"); string tmpBody = "<table style='" + tableStyle + "'>" + Body.ToString() + "</table>"; Body.Clear(); Body.Append(classstyle.ToString()); Body.Append("您有一張 "); Body.Append(outStateTitle); Body.Append(" 的" + fcerl.ParentTestItem + "表單"); Body.Append(tmpBody); Body.Append(newLine2); Body.Append(Method.BuildXML2(Method.BuildXML2("請進入此網址查看<a href='" + FormUrl + ID + "'>CERLLAB</a>", "td"), "tr")); EmailTitile = Constant.MailTest + "[" + fcerl.UID + ", " + fcerl.CaseID + "] CERLLAB " + outStateTitle + " 通知"; var maillist = edb.FnGetMailList(fcerl.ListAssignTo).Select(v => v.Email).ToList(); //var maillist = db.mail_test.Select(v => v.Email).ToList(); errorline = 364; List <string> conItemList = new List <string>(); foreach (var item in maillist) { conItemList.Add(item); } errorline = 370; List <string> CCUserList = new List <string>(); var sfauserList = db.s_form_authority.Where(x => x.fID == fcerl.fID && x.outState == fp.outState); string ccmailcontext = ""; if (sfauserList != null) { if (sfauserList.Count() > 0) { var sfauser = sfauserList.FirstOrDefault(); if (sfauser.MemberCodeList != null) { ccmailcontext = sfauser.MemberCodeList; } } } errorline = 384; if (ccmailcontext != null) { if (ccmailcontext.Trim().Length > 0) { maillist = edb.FnGetMailList2(ccmailcontext).Select(x => x.Email).ToList(); foreach (var item in maillist) { CCUserList.Add(item); } } } errorline = 396; try { errorline = 399; Method.SendMail(conItemList, CCUserList, EmailTitile, Body.ToString()); } catch (Exception ex) { string msg = ex.Message; StringBuilder sb = new StringBuilder(); sb.Append("Issue at line 406: occur error after line " + errorline.ToString() + msg); sb.Append(newLine); sb.Append(fcerl.ID + " " + fcerl.State); syserrdb.InitErrorData(Src: fnSendMail, content: sb.ToString(), editor: UserId); conItemList.Clear(); conItemList.Add(Constant.DefaultMailBcc); CCUserList.Clear(); Body.Append(newLine); Body.Append(ex.Message); Method.SendMail(conItemList, CCUserList, EmailTitile, Body.ToString()); } } catch (Exception ex) { string msg = ex.Message; StringBuilder sb = new StringBuilder(); sb.Append("Issue at line 423: occur error after line " + errorline.ToString() + msg); sb.Append(newLine); sb.Append(fcerl.ID + " " + fcerl.State); syserrdb.InitErrorData(Src: fnSendMail, content: sb.ToString(), editor: UserId); } return(Body.ToString()); }