예제 #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);
        }
예제 #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);
        }