Exemplo n.º 1
0
 private void StoreValues(ref string jsonRaw)
 {
     try
     {
         List <TValue> result;
         if (_collectionSettings.DeserialzeFunc == null)
         {
             result = JsonConvert.DeserializeObject <List <TValue> >(jsonRaw);
         }
         else
         {
             result = _collectionSettings.DeserialzeFunc(jsonRaw);
         }
         InnerValues.Clear();
         foreach (var item in result)
         {
             InnerValues.TryAdd(_collectionSettings.LocateKey(item), item);
         }
     }
     catch (JsonReaderException ex)
     {
         Trace.WriteLine($"Error Deserializing {_collectionSettings.LoadType} {_collectionSettings.GetCurrentSource}, {ex.ToString()}");
         InnerValues.Clear();
     }
 }
 public override void Refresh()
 {
     if (!_refreshing)
     {
         lock (_refreshLock)
         {
             _refreshing = true;
             try
             {
                 var values = _loadValues(_contextStarter).ToList();
                 InnerValues.Clear();
                 foreach (var value in values)
                 {
                     InnerValues.TryAdd(value.Key, value.Value);
                 }
                 Loaded = true;
             }
             finally
             {
                 _refreshing = false;
             }
         }
     }
 }