Part Alert now in C#, this is the is the C# version of the part alerts post. The message box used is a little overdone for what it needed, but it works.
/* Email Each valid UD02 entry */ /* Emails based on matching partnum in UD02.key1 */ Ice.Tables.UD02 UD02 = null; foreach (var ttorderdtl_xRow in ttOrderDtl) { var ttorderdtlRow = ttorderdtl_xRow; //Find Matching UD02 Entries foreach (var UD02_iterator in (from UD02_Row in Db.UD02 where (UD02_Row.Company == Session.CompanyID) && (UD02_Row.Key1 == ttorderdtl_xRow.PartNum) && ((bool)UD02_Row.CheckBox01 == false) && ((string)UD02_Row.ShortChar02 == "Customer Order") select UD02_Row)) { // Determine Action type from UD02 ShortChar01 UD02 = UD02_iterator; if ((string)UD02["ShortChar01"] == "Screen Msg") { string infomsg = ((string)UD02["Character01"]); this.PublishInfoMessage(infomsg, Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual, "OrderEntry-PartAlert", "ScreenMsg"); if ((string)UD02["ShortChar01"] == "Email Alert") { // Build Email Body string msgbody = ((string)UD02["Character01"]) + "\r\n" + "---------------------------------------------------------------" + "Order Number: " + (ttorderdtlRow.OrderNum.ToString()) + "\r\n" + "Order Line : " + (ttorderdtlRow.OrderLine.ToString()); // Start Email MailMessage message = new MailMessage("FromEmailAddress",((string)UD02["Character02"]),"Part Alert - Customer Order: " + ((string)UD02["Key1"]) ,msgbody); // message.Attachments.Add(new Attachment(PathToAttachment)); SmtpClient client = new SmtpClient("SMTPServer", 25); try { client.Send(message); } catch (Exception ex) { } } } }
转自:http://jmseagraves.com/category/epicor-related-posts/
