示例#1
0
 public Task <bool> Exists(string key)
 {
     return(Task.Run(() =>
     {
         using (var realm = RealmType.GetInstance(Config))
         {
             var result = realm.Find <LocalData>(key);
             return result != null;
         }
     }));
 }
示例#2
0
 public Task <T> Get <T>(string key)
 {
     return(Task.Run(() =>
     {
         using (var realm = RealmType.GetInstance(Config))
         {
             var result = realm.Find <LocalData>(key);
             return result == null ? default(T) : _jsonSerializer.Deserialize <T>(result.Data);
         }
     }));
 }
示例#3
0
        public Task <DateTimeOffset?> GetExpiration(string key)
        {
            return(Task.Run(() =>
            {
                using (var realm = RealmType.GetInstance(Config))
                {
                    var result = realm.Find <LocalData>(key);
                    if (result == null)
                    {
                        return default(DateTimeOffset?);
                    }

                    return DateTimeOffset.Parse(result.Timestamp, CultureInfo.InvariantCulture) as DateTimeOffset?;
                }
            }));
        }
示例#4
0
 public Task Add(string key, DateTimeOffset date, object obj)
 {
     return(Task.Run(() =>
     {
         var json = _jsonSerializer.Serialize(obj);
         var localData = new LocalData
         {
             Data = json,
             Timestamp = date.ToString("r"),
             Key = key
         };
         using (var realm = RealmType.GetInstance(Config))
         {
             realm.Write(() =>
             {
                 realm.Add(localData, true);
             });
         }
     }));
 }
示例#5
0
 public override IDisposable OpenDB()
 {
     return(this.realm = RealmType.GetInstance(RealmConfiguration.DefaultConfiguration.ConfigWithPath(this.Path)));
 }