Beispiel #1
0
        public void BatchUnsubscribe_Successful()
        {
            //  Arrange
            MailChimpManager mc    = new MailChimpManager(TestGlobal.Test_APIKey);
            ListResult       lists = mc.GetLists();

            List <EmailParameter> emails = new List <EmailParameter>();

            EmailParameter email1 = new EmailParameter()
            {
                Email = "*****@*****.**"
            };

            EmailParameter email2 = new EmailParameter()
            {
                Email = "*****@*****.**"
            };

            emails.Add(email1);
            emails.Add(email2);

            //  Act
            BatchUnsubscribeResult results = mc.BatchUnsubscribe(lists.Data[1].Id, emails);

            //  Assert
            Assert.IsNotNull(results);
            Assert.IsTrue(results.SuccessCount == 2);
        }
Beispiel #2
0
        /// <summary>
        /// Batches the unsubscribe.
        /// </summary>
        /// <param name="recordList">The records</param>
        public virtual BatchUnsubscribeResult BatchUnsubscribe(IEnumerable <MailChimpEventQueueRecord> recordList)
        {
            if (String.IsNullOrEmpty(_mailChimpSettings.DefaultListId))
            {
                throw new ArgumentException("MailChimp list is not specified");
            }

            MailChimpManager mc = new MailChimpManager(_mailChimpSettings.ApiKey);

            //  Create the email parameter
            List <EmailParameter> emailList = new List <EmailParameter>();
            var batch = recordList.Select(sub => sub.Email).ToList();

            foreach (var email in batch)
            {
                emailList.Add(new EmailParameter()
                {
                    Email = email
                });
            }

            BatchUnsubscribeResult listSubscribeOutput = mc.BatchUnsubscribe(_mailChimpSettings.DefaultListId, emailList);

            return(listSubscribeOutput);
        }
Beispiel #3
0
        public void BatchUnsubscribe_Successful()
        {
            //  Arrange
            MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey);
            ListResult lists = mc.GetLists();

            List<EmailParameter> emails = new List<EmailParameter>();

            EmailParameter email1 = new EmailParameter()
            {
                Email = "*****@*****.**"
            };

            EmailParameter email2 = new EmailParameter()
            {
                Email = "*****@*****.**"
            };

            emails.Add(email1);
            emails.Add(email2);

            //  Act
            BatchUnsubscribeResult results = mc.BatchUnsubscribe(lists.Data[1].Id, emails);

            //  Assert
            Assert.IsNotNull(results);
            Assert.IsTrue(results.SuccessCount == 2);
        }
        /// <summary>
        /// Batches the unsubscribe.
        /// </summary>
        /// <param name="recordList">The records</param>
        public virtual BatchUnsubscribeResult BatchUnsubscribe(IEnumerable<MailChimpEventQueueRecord> recordList)
        {
            if (String.IsNullOrEmpty(_mailChimpSettings.DefaultListId))
                throw new ArgumentException("MailChimp list is not specified");

            var mc = new MailChimpManager(_mailChimpSettings.ApiKey);

            var emails = recordList.Select(sub => new EmailParameter() {Email = sub.Email}).ToList();

            MemberInfoResult emailInfos = mc.GetMemberInfo(_mailChimpSettings.DefaultListId, emails);

            emails.Clear();

            foreach (var member in emailInfos.Data)
            {
                if (member!=null && member.Status.ToLower().Contains("subscribed"))
                {
                    emails.Add(new EmailParameter() { Email = member.Email });
                }
            }

            ////remove email if it's subscribed to mailchimp list
            BatchUnsubscribeResult results = mc.BatchUnsubscribe(_mailChimpSettings.DefaultListId, emails, false, true, true);

            return results;
        }