/// <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)); } }
/// <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); }