Пример #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();
        }
Пример #2
0
        /// <summary>
        /// 取得部門下所有的通知清單
        /// </summary>
        /// <param name="depID"></param>
        /// <returns></returns>
        public List <string> GetMailToObjectGroupByDepartmentID(string depID)
        {
            EinvoiceLogger eLog     = new EinvoiceLogger();
            List <string>  objGroup = eLog.WinningContactMain
                                      .Join(
                eLog.WinningContactDetails,
                t1 => t1.ID,
                t2 => t2.Map_Main_ID,
                (main, details) =>
                new
            {
                main.Ref_Department_ID,
                details.Contact_Email_Addr,
                details.Contact_Email_Domain
            }
                )
                                      .Where(o => o.Ref_Department_ID == depID)
                                      .Select(s => string.Concat(s.Contact_Email_Addr, s.Contact_Email_Domain))
                                      .ToList();

            return(objGroup);
        }