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); } }
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); } }
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); }
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); }
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; } }