Esempio n. 1
0
        public void tListUnSubscribe()
        {
            var subscriber = new Table.MailChimpContact();

            subscriber.Email = "*****@*****.**";
            Assert.AreEqual(true, mailChimpApi.ListUnsubscribe(_apiKey, _listId, subscriber));
        }
Esempio n. 2
0
        public void ListSubscribe()
        {
            var subscriber = new Table.MailChimpContact();

            subscriber.Email     = "*****@*****.**";
            subscriber.FirstName = "Jac1";
            subscriber.LastName  = "Zhang1";
            Assert.AreEqual(true, mailChimpApi.ListSubscribe(_apiKey, _listId, subscriber));
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
            }
        }