Пример #1
0
        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();
        }
Пример #2
0
        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("邮件发送失败");
            }
        }