public static bool AreEqual(MailchimpList first, MailchimpList second)
        {
            bool areEqlual = first.Id == second.Id;

            areEqlual = areEqlual && first.Name == second.Name;

            return(areEqlual);
        }
Ejemplo n.º 2
0
        public static MailchimpList CreateMockedList()
        {
            MailchimpList mailchimpList = new MailchimpList();

            mailchimpList.Id   = Guid.NewGuid().ToString();
            mailchimpList.Name = Guid.NewGuid().ToString();

            return(mailchimpList);
        }
        /// <summary>
        /// Gets the Mailchimp list id from the provided <see cref="ConnectorFormDataContext"/>.
        /// </summary>
        /// <param name="dataContext">The data context around the submitted form fields.</param>
        /// <returns>The Mailchimp list id.</returns>
        protected virtual string GetListId(ConnectorFormDataContext dataContext)
        {
            if (dataContext == null)
            {
                throw new ArgumentNullException("dataContext");
            }

            string        formFieldName = dataContext.FormDescriptionAttributeSettings[MailchimpFormsConnectorDefinitionsExtender.MailchimpListNameFieldName];
            MailchimpList list          = this.mailchimpListsClient.GetLists().FirstOrDefault(f => f.Name == formFieldName);

            return(list.Id);
        }
        /// <inheritdoc />
        public override IEnumerable <string> GetAutocompleteData(string term, string[] paramValues)
        {
            if (!this.mailchimpConnectorConfig.Enabled || !paramValues.Any())
            {
                return(null);
            }

            string listName = paramValues[0];

            if (string.IsNullOrWhiteSpace(listName))
            {
                return(null);
            }

            IEnumerable <MailchimpList> lists = this.mailchimpListProvider.GetLists();

            if (lists == null || !lists.Any())
            {
                return(null);
            }

            MailchimpList list = lists.FirstOrDefault(f => f.Name == listName);

            if (list == null)
            {
                return(null);
            }

            IEnumerable <MailchimpListMergeField> mergeFields = this.mailchimpListProvider.GetMergeFields(list.Id);

            IEnumerable <string> result = new List <string>();

            if (mergeFields != null && mergeFields.Any())
            {
                result = mergeFields.Select(mf => mf.Name);
            }

            result = result.Append(FieldNameConstants.Email);

            if (!string.IsNullOrWhiteSpace(term))
            {
                result = result.Where(f => f != null && f.IndexOf(term, StringComparison.OrdinalIgnoreCase) >= 0);
            }

            int take = this.mailchimpConnectorConfig.AutocompleteSuggestionsCount;

            if (take > 0)
            {
                result = result.Take(take);
            }

            return(result);
        }
Ejemplo n.º 5
0
        public static IEnumerable <MailchimpList> CreateMockedListsCollection(int count)
        {
            IList <MailchimpList> lists = new List <MailchimpList>();

            for (int i = 0; i < count; i++)
            {
                MailchimpList currentList = MailchimpListModelMocksProvider.CreateMockedList();
                lists.Add(currentList);
            }

            return(lists);
        }