Пример #1
0
        public static IEnumerable <TValue> GetOrNull <TKey, TValue>(this IReadOnlyMultiMap <TKey, TValue> coll, TKey key)
        {
            if (!coll.Contains(key))
            {
                return(null);
            }

            return(coll[key]);
        }
Пример #2
0
        public static string GetFirstOrEmpty(this IReadOnlyMultiMap <string, string> coll, string key)
        {
            if (!coll.Contains(key))
            {
                return(string.Empty);
            }

            return(coll[key].FirstOrDefault() ?? string.Empty);
        }
Пример #3
0
        public static TValue GetFirstOrNull <TKey, TValue>(this IReadOnlyMultiMap <TKey, TValue> coll, TKey key)
        {
            if (!coll.Contains(key))
            {
                return(default(TValue));
            }

            return(coll[key].FirstOrDefault());
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
            }
        }
Пример #6
0
 public static string Write(IReadOnlyMultiMap <string, string> collection)
 {
     return(WriteInternal(collection, key => (collection[key] ?? new string[0]).ToArray()));
 }