public static IEnumerable <TValue> GetOrNull <TKey, TValue>(this IReadOnlyMultiMap <TKey, TValue> coll, TKey key) { if (!coll.Contains(key)) { return(null); } return(coll[key]); }
public static string GetFirstOrEmpty(this IReadOnlyMultiMap <string, string> coll, string key) { if (!coll.Contains(key)) { return(string.Empty); } return(coll[key].FirstOrDefault() ?? string.Empty); }
public static TValue GetFirstOrNull <TKey, TValue>(this IReadOnlyMultiMap <TKey, TValue> coll, TKey key) { if (!coll.Contains(key)) { return(default(TValue)); } return(coll[key].FirstOrDefault()); }
private static T HydrateFromFormUrlEncoded <T>(IReadOnlyMultiMap <string, string> data) { var obj = new ExpandoObject(); foreach (var item in data) { Fill(obj, item.Key, item); } var serVal = serializer.Serialize(obj); // Console.WriteLine(serVal); return(serializer.Deserialize <T>(serVal)); }
public void SetSecureCookieValues(string cookieName, IReadOnlyMultiMap <string, string> secureCollection) { secureCollection.Validate().IsNotNull(); if (secureCollection.Count == 0) { this.DeleteCookie(cookieName); } else { var serializedCollection = UrlEncodingExtender.Write(secureCollection); var checkSum = this.GenerateCompositeHash(cookieName, serializedCollection); this.SetCookie(cookieName, string.Concat(this.Prefix(), checkSum, "?", serializedCollection)); } }
public static string Write(IReadOnlyMultiMap <string, string> collection) { return(WriteInternal(collection, key => (collection[key] ?? new string[0]).ToArray())); }