public override Dictionary <string, string> AsDictionary()
        {
            var dictionary = new Dictionary <string, string>
            {
                { "text", Text },
                { "fields", "taglist" }
            };

            if (!string.IsNullOrWhiteSpace(Country))
            {
                dictionary.Add("country", Country);
            }

            if (Latitude.HasValue)
            {
                dictionary.Add("lat", Latitude.ToString());
            }

            if (Longitude.HasValue)
            {
                dictionary.Add("lon", Longitude.ToString());
            }

            if (!string.IsNullOrWhiteSpace(Location))
            {
                dictionary.Add("location", Location);
            }

            if (MilesRadius.HasValue)
            {
                dictionary.Add("radius", MilesRadius.ToString());
            }

            if (!string.IsNullOrWhiteSpace(Zip))
            {
                dictionary.Add("zip", Zip);
            }

            if (OrderBy.HasValue)
            {
                dictionary.Add("order", OrderBy.ToString().ToLowerInvariant());
            }

            if (Descending)
            {
                dictionary.Add("desc", "true");
            }

            AddPagination(dictionary);

            return(dictionary);
        }
        public override Dictionary <string, string> AsDictionary()
        {
            var dictionary = new Dictionary <string, string>
            {
                { "fields", "taglist" }
            };

            var catArray = Categories?.ToArray();

            if ((catArray?.Length ?? 0) > 0)
            {
                dictionary.Add("category", string.Join(",", catArray));
            }

            if (!string.IsNullOrWhiteSpace(Country))
            {
                dictionary.Add("country", Country);
            }

            var groupIdArray = GroupIds?.ToArray();

            if ((groupIdArray?.Length ?? 0) > 0)
            {
                dictionary.Add("group_id", string.Join(",", groupIdArray));
            }

            var groupNameArray = GroupNames?.ToArray();

            if ((groupNameArray?.Length ?? 0) > 0)
            {
                dictionary.Add("group_urlname", string.Join(",", groupNameArray));
            }

            if (Latitude.HasValue)
            {
                dictionary.Add("lat", Latitude.ToString());
            }

            if (Longitude.HasValue)
            {
                dictionary.Add("lon", Longitude.ToString());
            }

            if (!string.IsNullOrWhiteSpace(Location))
            {
                dictionary.Add("location", Location);
            }

            if (MinimumGroups.HasValue)
            {
                dictionary.Add("min_groups", MinimumGroups.Value.ToString());
            }

            if (MilesRadius.HasValue)
            {
                dictionary.Add("radius", MilesRadius.ToString());
            }

            if (UsedBetween != null)
            {
                dictionary.Add("used_between", UsedBetween.ToUrl);
            }

            if (!string.IsNullOrWhiteSpace(Zip))
            {
                dictionary.Add("zip", Zip);
            }

            AddPagination(dictionary);

            return(dictionary);
        }