コード例 #1
0
ファイル: Program.cs プロジェクト: BStrickland01/EmailService
        private static void SetupEmailBlastToEventUsers()
        {
            List<PUConsumerData> consumerDataInfo;
            PUEvent eventInfo;
            using (var dc = new CoreDBDataContext())
            {
                consumerDataInfo = dc.PUConsumerDatas.Where(c => c.ImageSent == false && c.ImagesUploaded == true && c.Email.Trim().Length > 0 && c.OnsiteServerFlag == true).ToList();

                if (consumerDataInfo != null && consumerDataInfo.Count > 0)
                {
                    if (!File.Exists(fileLoc))
                    {
                        File.WriteAllText(fileLoc, "Text File Created");
                    }
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter(fileLoc, true))
                    {
                        file.WriteLine();
                        file.WriteLine();
                        file.WriteLine("--------------------------------------------");
                        file.WriteLine(string.Format("DateTime: {0} -- Run contains {1} applicable records", DateTime.Now, consumerDataInfo.Count()));
                        file.WriteLine("--------------------------------------------");

                        foreach (var item in consumerDataInfo)
                        {
                            eventInfo = dc.PUEvents.FirstOrDefault(e => e.EventID == item.EventID);
                            var sent = SendEmail(dc, eventInfo, item);
                            if (sent)
                            {
                                file.WriteLine(string.Format("Email/MMS sent to '{0}' -- EventID = '{1}' -- ConsumerDataID = '{2}' at '{3}'", item.Email, item.EventID, item.ConsumerDataID, DateTime.Now));
                            }
                            else
                            {
                                file.WriteLine(string.Format("Email/MMS msg failed for '{0}' -- EventID = '{1}' -- ConsumerDataID = '{2}' at '{3}'", item.Email, item.EventID, item.ConsumerDataID, DateTime.Now));
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: BStrickland01/EmailService
        private static bool SendEmail(CoreDBDataContext dc, PUEvent eventInfo, PUConsumerData consumerInfo, bool MMS = false, bool useConsumerDataID = false)
        {
            if (!string.IsNullOrWhiteSpace(consumerInfo.Email) || MMS)
            {
                var email = new Email();
                var imageDetails = new ImageDetails();
                var tourInfo = dc.PUTours.FirstOrDefault(t => t.TourID == eventInfo.TourID);
                var programInfo = dc.PUPrograms.FirstOrDefault(p => p.ProgramID == tourInfo.ProgramID);
                var brandInfo = dc.PUBrands.FirstOrDefault(b => b.BrandID == programInfo.BrandID);
                var brandName = brandInfo.Name;

                if (!string.IsNullOrWhiteSpace(brandName))
                {
                    email.Alias = brandName;
                }
                else
                {
                    email.Alias = "PictureU.com";
                }

                email.SendLink = (bool)eventInfo.SendLink;
                email.AttachImage = (bool)eventInfo.AttachImages;
                email.MMS = MMS;
                email.FirstName = consumerInfo.FirstName;
                email.LastName = consumerInfo.LastName;
                imageDetails.CompressedName = consumerInfo.CompressedImageName;
                imageDetails.Height = 250;
                email.To = consumerInfo.Email;
                email.From = eventInfo.EmailFrom;

                if (email.MMS) //Text Messaging
                {
                    email.TemplateContent = eventInfo.TextBody;
                    email.Subject = eventInfo.TextSubject;
                }
                else //Emailing
                {
                    email.TemplateContent = eventInfo.EmailBody;
                    email.Subject = eventInfo.EmailSubject;
                }

                var sent = SendNonTemplatedEmail(email, imageDetails, consumerInfo.SecureCode, consumerInfo.ConsumerDataID.ToString(), consumerInfo.EventID.ToString());

                if (sent)
                {
                    if (email.MMS)
                    {
                        consumerInfo.MMSSent = true;
                    }
                    else
                    {
                        consumerInfo.ImageSent = true;
                    }

                    dc.SubmitChanges();
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }