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/