public object Unpack(IDeserializer deserializer, IUnpacker unpacker)
 {
     CacheString cacheString = new CacheString()
                               {
                                   Id = deserializer.DeserializeVariantInt(),
                                   Value = deserializer.DeserializeString()
                               };
     this.RaiseEvent(CacheStringDeserializer, cacheString);
     return cacheString;
 }
Ejemplo n.º 2
0
        public static async Task <T> CacheOfByName <T>(string name) where T : NamedApiObject
        {
            var type = typeof(T);

            if (!ShouldCacheData)
            {
                return(JsonConvert.DeserializeObject <T>(await Client.GetStringAsync(BASE_URL + UrlOfType[type] + SLASH + name)));
            }

            if (!CacheString.ContainsKey(type))
            {
                CacheString.Add(type, new Dictionary <string, NamedApiObject>());
            }

            var dictionary = CacheString[type];

            if (!dictionary.TryGetValue(name, out var apiObject))
            {
                apiObject = JsonConvert.DeserializeObject <T>(await Client.GetStringAsync(BASE_URL + UrlOfType[type] + SLASH + name));
                dictionary.Add(name, apiObject);
            }

            return((T)apiObject);
        }
Ejemplo n.º 3
0
 public static void ClearAll()
 {
     Cache.Clear();
     CacheString.Clear();
     CacheUrl.Clear();
 }