/// <summary>
        /// Convert params to key/value pairs.
        /// Use collectionFormat to properly format lists and collections.
        /// </summary>
        /// <param name="collectionFormat">The swagger-supported collection format, one of: csv, tsv, ssv, pipes, multi</param>
        /// <param name="name">Key name.</param>
        /// <param name="value">Value object.</param>
        /// <returns>A multimap of keys with 1..n associated values.</returns>
        public static Multimap <string, string> ParameterToMultiMap(string collectionFormat, string name, object value)
        {
            var parameters = new Multimap <string, string>();

            if (value is ICollection collection && collectionFormat == "multi")
            {
                foreach (var item in collection)
                {
                    parameters.Add(name, ParameterToString(item));
                }
            }
示例#2
0
        /// <summary>
        /// Convert params to key/value pairs.
        /// Use collectionFormat to properly format lists and collections.
        /// </summary>
        /// <param name="collectionFormat">The swagger-supported collection format, one of: csv, tsv, ssv, pipes, multi</param>
        /// <param name="name">Key name.</param>
        /// <param name="value">Value object.</param>
        /// <returns>A multimap of keys with 1..n associated values.</returns>
        public static Multimap <string, string> ParameterToMultiMap(string collectionFormat, string name, object value)
        {
            var parameters = new Multimap <string, string>();

            if (IsCollection(value) && collectionFormat == "multi")
            {
                var valueCollection = value as IEnumerable;
                if (valueCollection != null)
                {
                    foreach (var item in valueCollection)
                    {
                        parameters.Add(name, ParameterToString(item));
                    }
                }
            }
            else
            {
                parameters.Add(name, ParameterToString(value));
            }

            return(parameters);
        }