Exemplo n.º 1
0
        internal static void UnsubscribeNewsletterItem(Newsletter_Send_Item newsletterSendItem)
        {
            try
            {
                using (Vicdude_NewsletterEntities db = new Vicdude_NewsletterEntities())
                {
                    var item = db.Newsletter_Send_Item.FirstOrDefault(n => n.NewsletterSendItemGUID == newsletterSendItem.NewsletterSendItemGUID);
                    if (item != null)
                    {
                        item.HasUnsubscribed = true;

                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.LogError(string.Format("Error updating newsletter send item to unsubscribed..."), ex, 0);
            }
        }
Exemplo n.º 2
0
        internal static void CreateNewsletterSendItems(int newsletterSendId, List <int> userIds, List <int> contactIds = null, int formFieldId = -1)
        {
            using (Vicdude_NewsletterEntities db = new Vicdude_NewsletterEntities())
            {
                foreach (int userId in userIds)
                {
                    Newsletter_Send_Item item = new Newsletter_Send_Item()
                    {
                        IsRead                 = false,
                        IsSent                 = false,
                        Email                  = SW.Core.BLL.AccountBLL.GetUserEmail(userId),
                        NewsletterSendId       = newsletterSendId,
                        NewsletterSendItemGUID = Guid.NewGuid().ToString(),
                        SendDate               = DateTime.Now,
                        SendToUserId           = userId,
                        ReadDate               = DateTime.Now.AddYears(-10),
                        HasUnsubscribed        = false,
                        SendType               = "USER"
                    };

                    db.Newsletter_Send_Item.Add(item);
                }

                if (contactIds != null && contactIds.Count > 0)
                {
                    foreach (int contactId in contactIds)
                    {
                        Newsletter_Send_Item item = new Newsletter_Send_Item()
                        {
                            IsRead                 = false,
                            IsSent                 = false,
                            Email                  = SW.Core.BLL.ContactBLL.GetContact(contactId).Email,
                            NewsletterSendId       = newsletterSendId,
                            NewsletterSendItemGUID = Guid.NewGuid().ToString(),
                            SendDate               = DateTime.Now,
                            SendToContactId        = contactId,
                            ReadDate               = DateTime.Now.AddYears(-10),
                            HasUnsubscribed        = false,
                            SendType               = "CONTACT"
                        };

                        db.Newsletter_Send_Item.Add(item);
                    }
                }

                if (formFieldId > 0)
                {
                    List <string> emails = FormsAdminBLL.GetExternalSubmitValues(formFieldId);

                    foreach (var email in emails)
                    {
                        Newsletter_Send_Item item = new Newsletter_Send_Item()
                        {
                            IsRead                 = false,
                            IsSent                 = false,
                            Email                  = email,
                            NewsletterSendId       = newsletterSendId,
                            NewsletterSendItemGUID = Guid.NewGuid().ToString(),
                            SendDate               = DateTime.Now,
                            ReadDate               = DateTime.Now.AddYears(-10),
                            HasUnsubscribed        = false,
                            SendType               = "FORM"
                        };

                        db.Newsletter_Send_Item.Add(item);
                    }
                }

                db.SaveChanges();
            }
        }