Esempio n. 1
0
    public static int ListsUnsubscribe(SqlString apikey, SqlString list_id, SqlString email, SqlString euid, SqlString leid, SqlBoolean delete_member, SqlBoolean send_goodbye, SqlBoolean send_notify)
    {
        try
        {
            MailChimpManager mc = new MailChimpManager(apikey.ToString());

            EmailParameter emailParam = new EmailParameter
            {
                Email = email.ToString(),
                EUId  = euid.ToString(),
                LEId  = leid.ToString()
            };

            UnsubscribeResult result = mc.Unsubscribe(list_id.ToString(), emailParam, delete_member.IsTrue, send_goodbye.IsTrue, send_notify.IsTrue);

            SqlDataRecord record = new SqlDataRecord(CompleteResultsMetaData);
            record.SetBoolean(0, result.Complete);

            SqlContext.Pipe.Send(record);
        }
        catch (Exception ex)
        {
            SqlContext.Pipe.Send(ex.Message);
            return(1);
        }
        return(0);
    }
 public EzUnsubscribeResult(
     UnsubscribeResult result
     )
 {
     if (result.item != null)
     {
         Item = new EzSubscribeUser(result.item);
     }
 }
Esempio n. 3
0
        private void  onReceiveUnsubscribeRequest(MessageEnvelope message, ITransport transport)
        {
            IConsumer <T> consumer = null;

            lock (consumers)
            {
                if (consumers.ContainsKey(message.Body.UnsubscribeRequest.ConsumerId))
                {
                    consumer = consumers[message.Body.UnsubscribeRequest.ConsumerId];
                }
            }

            MessageEnvelope       resultMsg             = new MessageEnvelope();
            MessageBody           body                  = new MessageBody();
            UnsubscribeResult     unsubscribeResult     = new UnsubscribeResult();
            UnsubscribeResultCode unsubscribeResultCode = new UnsubscribeResultCode();

            body.selectUnsubscribeResult(unsubscribeResult);
            resultMsg.Body = body;
            resultMsg.Id   = message.Id;

            if (consumer != null)
            {
                try
                {
                    delConsumer(consumer);
                }
                catch (System.Exception e)
                {
                    // TODO
                }
                unsubscribeResultCode.Value = UnsubscribeResultCode.EnumType.success;
            }
            else
            {
                unsubscribeResultCode.Value = UnsubscribeResultCode.EnumType.subscriptionNotExists;
            }
            unsubscribeResult.Code = unsubscribeResultCode;
            try
            {
                transport.sendAsync(resultMsg);
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e);
            }
        }
Esempio n. 4
0
        public void Unsubscribe_Successful()
        {
            //  Arrange
            MailChimpManager mc    = new MailChimpManager(TestGlobal.Test_APIKey);
            ListResult       lists = mc.GetLists();
            EmailParameter   email = new EmailParameter()
            {
                Email = "*****@*****.**"
            };

            //  Act
            UnsubscribeResult results = mc.Unsubscribe(lists.Data[1].Id, email);

            //  Assert
            Assert.IsNotNull(results);
            Assert.IsTrue(results.Complete);
        }
Esempio n. 5
0
        public virtual bool onReceive(MessageEnvelope message, ITransport transport)
        {
            if (message.Body.isSubscribeRequestSelected())
            {
                MessageEnvelope     resultMsg           = new MessageEnvelope();
                MessageBody         body                = new MessageBody();
                SubscribeResult     subscribeResult     = new SubscribeResult();
                SubscribeResultCode subscribeResultCode = new SubscribeResultCode();
                body.selectSubscribeResult(subscribeResult);
                resultMsg.Body            = (body);
                resultMsg.Id              = message.Id;
                subscribeResultCode.Value = SubscribeResultCode.EnumType.unknownQueue;
                subscribeResult.Code      = subscribeResultCode;
                try
                {
                    transport.sendAsync(resultMsg);
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
            else if (message.Body.isUnsubscribeRequestSelected())
            {
                MessageEnvelope       resultMsg             = new MessageEnvelope();
                MessageBody           body                  = new MessageBody();
                UnsubscribeResult     unsubscribeResult     = new UnsubscribeResult();
                UnsubscribeResultCode unsubscribeResultCode = new UnsubscribeResultCode();
                body.selectUnsubscribeResult(unsubscribeResult);
                resultMsg.Body = (body);
                resultMsg.Id   = message.Id;
                unsubscribeResultCode.Value = (UnsubscribeResultCode.EnumType.unknownQueue);
                unsubscribeResult.Code      = (unsubscribeResultCode);
                try
                {
                    transport.sendAsync(resultMsg);
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }

            return(true);
        }
Esempio n. 6
0
        public bool UnsubscribeNewsLetter(string email)
        {
            string newsLetterIdKeyName;

            switch (Thread.CurrentThread.CurrentUICulture.LCID)
            {
            default:
                newsLetterIdKeyName = "NewsletterListId";
                break;
            }
            try
            {
                MailChimpManager mc = new MailChimpManager(WebConfigurationManager.AppSettings["MailChimpApiKey"]);

                //  Create the email parameter
                EmailParameter mailChimpEmail = new EmailParameter()
                {
                    Email = email
                };

                UnsubscribeResult results = mc.Unsubscribe(WebConfigurationManager.AppSettings[newsLetterIdKeyName], mailChimpEmail);

                if (!results.Complete)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                // log the exception
                throw ex;
            }
        }