Exemplo n.º 1
0
        /// <summary>
        /// 通知歷史寫入
        /// </summary>
        /// <param name="invTerm"></param>
        /// <param name="data"></param>
        public void WriteContactEmailLog(string invTerm, KeyValuePair <string, List <EinvoiceDataModel> > data, List <string> mailTo, bool sendIsSuccess, bool isAdmin = false)
        {
            EinvoiceLogger       eLog    = new EinvoiceLogger();
            List <ContactHistoy> logList = new List <ContactHistoy>();

            foreach (var d in data.Value)
            {
                ContactHistoy temp = new ContactHistoy()
                {
                    OrderNum            = d.Detalis.OrderNo,
                    Ref_Department_ID   = d.Detalis.DepartmentCode,
                    Ref_Department_Name = d.Detalis.DepartmentName,
                    SendTime            = DateTime.UtcNow.AddHours(8),
                    TargetEmail         = string.Join("|", mailTo),
                    WinningLevel        = d.WinningType.ToString(),
                    WinningNum          = d.WinningNumber,
                    WinningPeriod       = invTerm,
                    Status   = sendIsSuccess ? "success" : "fail",
                    Messages = isAdmin ? sendIsSuccess ? "Admin通知成功" : "Admin通知失敗" : sendIsSuccess ? "通知成功" : "通知失敗"
                };
                logList.Add(temp);
            }
            eLog.ContactHistoy.AddRange(logList);
            eLog.SaveChanges();
        }