public static void DoWork(AutoResetEvent are) { //获取前一日已出库,未确认的SOIncomeNo OnShowInfo("开始获取数据"); var getData = AutoConfirm.GetConfirmData(Settings.InitialDate); if (getData != null && getData.Count > 0) { List <SOIncomeInfo> lstSOIncome = new List <SOIncomeInfo>(); getData.ForEach(x => { lstSOIncome.Add(new SOIncomeInfo { SysNo = x.SysNo }); }); OnShowInfo("开始呼叫服务,确认SOIncome记录"); ZeroConfirmSOIncomeJobResp response = new ZeroConfirmSOIncomeJobResp(); response = CallRestfulService(lstSOIncome); SendEmailForData(response); } else { OnShowInfo("没有需要确认的SOIncome记录"); } are.Set(); }
private static void SendEmailForData(ZeroConfirmSOIncomeJobResp response) { if (response == null) { return; } DateTime nowTime = DateTime.Now; string emailModelPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Settings.EmailModel); string emailBody = ReadFile(emailModelPath); emailBody = emailBody.Replace("#DateTime#", nowTime.ToString("yyyy-MM-dd HH:mm:ss")); List <ConfirmEntity> emailList = new List <ConfirmEntity>(); response.Result.ForEach(x => { var s = AutoConfirm.GetEmailData(Convert.ToInt32(x.SysNo)); var confirmInfo = "确认成功"; if (x.ErrorDescription != null) { confirmInfo = x.ErrorDescription; } string confirmedID = Settings.UserLoginName; emailList.Add(new ConfirmEntity { SoSysNo = s.SoSysNo, PayTerms = s.PayTerms, OrderAmt = s.OrderAmt, IncomeAmt = s.IncomeAmt, PrepayAmt = s.PrepayAmt, PointPayAmt = s.PointPayAmt, GiftCardPayAmt = s.GiftCardPayAmt, ConfirmedDate = s.ConfirmedDate, ConfirmedInfo = confirmInfo, CofirmedID = confirmedID }); }); MailInfo mail = new MailInfo(); string fileName = "ZeroAutoConfirm" + nowTime.ToString(Settings.ShortDateFormat) + ".xls"; string filePath = new ExcelSend().WriteToFile(emailList, fileName, nowTime); mail.FromName = Settings.EmailFrom; mail.ToName = Settings.EmailAddress; mail.Subject = string.Format(Settings.EmailSubject, nowTime.ToString(Settings.ShortDateFormat)); mail.Body = emailBody; mail.IsHtmlType = false; mail.Attachments = new List <string>(); mail.Attachments.Add(filePath); mail.IsAsync = false; mail.IsInternal = true; try { MailHelper.SendEmail(mail); MailDA.SendEmail(mail.ToName, mail.Subject, mail.Body, 1); OnShowInfo("邮件发送成功"); } catch { MailDA.SendEmail(mail.ToName, mail.Subject, mail.Body, -1); OnShowInfo("邮件发送失败"); } }