public void tListUnSubscribe() { var subscriber = new Table.MailChimpContact(); subscriber.Email = "*****@*****.**"; Assert.AreEqual(true, mailChimpApi.ListUnsubscribe(_apiKey, _listId, subscriber)); }
public void ListSubscribe() { var subscriber = new Table.MailChimpContact(); subscriber.Email = "*****@*****.**"; subscriber.FirstName = "Jac1"; subscriber.LastName = "Zhang1"; Assert.AreEqual(true, mailChimpApi.ListSubscribe(_apiKey, _listId, subscriber)); }
/// <summary> /// Gets the mail chimp contact. /// </summary> /// <param name="contactIds">The contact ids.</param> /// <returns></returns> public List <Table.MailChimpContact> GetMailChimpContact(List <int> contactIds) { var chimpContact = new List <Table.MailChimpContact>(); if (contactIds == null || contactIds.Count == 0) { return(chimpContact); } string contactId = string.Join(",", contactIds.Select(item => item.ToString()).ToArray()); string SQLString = string.Format(@"SELECT ContactId,FirstName,LastName,Email FROM dbo.Contacts WHERE ContactId IN ({0})", contactId); SqlDataReader dataReader = null; try { dataReader = DbHelperSQL.ExecuteReader(SQLString); Table.MailChimpContact contact = null; while (dataReader.Read()) { contact = new Table.MailChimpContact(); contact.ContactId = dataReader.IsDBNull(0) ? 0 : dataReader.GetInt32(0); contact.FirstName = dataReader.IsDBNull(1) ? string.Empty : dataReader.GetString(1); contact.LastName = dataReader.IsDBNull(2) ? string.Empty : dataReader.GetString(2); contact.Email = dataReader.IsDBNull(3) ? string.Empty : dataReader.GetString(3); chimpContact.Add(contact); } } finally { if (dataReader != null) { dataReader.Close(); dataReader.Dispose(); } } return(chimpContact); }
/// <summary> /// Lists the unsubscribe. /// </summary> /// <param name="apikey">The apikey.</param> /// <param name="mailChimpListId">The mail chimp list id.</param> /// <param name="subscriber">The subscriber.</param> /// <returns></returns> public MailChimp_Response ListUnsubscribe(string apikey, string mailChimpListId, Table.MailChimpContact subscriber) { //todo:pass MailChimp_Response response = new MailChimp_Response(); response.hdr = new RespHdr(); string StatusInfo = ""; var input = GetListUnsubscribeInput(apikey, mailChimpListId); input.parms.email_address = subscriber.Email; // execution var cmd = new listUnsubscribe(input); var output = cmd.Execute(); if (output.api_ErrorMessages.Count > 0) { StringBuilder sbErrDetail = new StringBuilder(); foreach (var apiErrorMessage in output.api_ErrorMessages) { sbErrDetail.AppendLine(string.Format("error code:{0},error msg:{1}", apiErrorMessage.code, apiErrorMessage.error)); StatusInfo = apiErrorMessage.error; } string errMsg = string.Format("apikey:{4}mailChimpListId:{5}\r\n{0}{1}{2}{3}", output.api_Request, output.api_Response, // raw data sbErrDetail, output.api_ValidatorMessages, apikey, mailChimpListId); int Event_id = 5019; EventLog.WriteEntry(InfoHubEventLog.LogSource, errMsg, EventLogEntryType.Warning, Event_id, Category); response.hdr.Successful = false; response.hdr.StatusInfo = "MailChimpMgr: " + StatusInfo; return(response); } else { //Console.Write(output); response.hdr.Successful = true; response.hdr.StatusInfo = ""; return(response); } }