/// <summary>
        /// Retrieves the lists.
        /// </summary>
        /// <returns></returns>
        public virtual NameValueCollection RetrieveLists()
        {
            var output = new NameValueCollection();

            try
            {
                // input parameters
                var listInput = new listsInput(_mailChimpSettings.ApiKey);

                // execute the request
                var         cmd        = new lists(listInput);
                listsOutput listOutput = cmd.Execute();

                if (listOutput != null && listOutput.result != null && listOutput.result.total > 0)
                {
                    foreach (listsResults.DataItem item in listOutput.result.data)
                    {
                        output.Add(item.name, item.id);
                    }
                }
            }
            catch (Exception e)
            {
                _log.Debug(e.Message, e);
            }
            return(output);
        }
Example #2
0
        /// <summary>
        /// Gets the mail chimp lists.
        /// </summary>
        /// <param name="apikey">The apikey.</param>
        /// <returns></returns>
        public List <listsResults.DataItem> GetMailChimpLists(string apikey)
        {
            //todo:pass
            listsInput  input  = new listsInput(apikey);
            lists       cmd    = new lists(input);
            listsOutput 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));
                }
                string errMsg = string.Format("apikey:{4}\r\n{0}{1}{2}{3}", output.api_Request, output.api_Response,     // raw data
                                              sbErrDetail.ToString(), output.api_ValidatorMessages, apikey);
                //int Event_id = 5011;
                //EventLog.WriteEntry(InfoHubEventLog.LogSource, errMsg, EventLogEntryType.Warning, Event_id, Category);
                return(new List <listsResults.DataItem>());
            }
            return(output.result.data);
        }