public async Task SaveSnapshotAsync(Type aggregateType, NEventLite.Snapshot.Snapshot snapshot) { if (_items.ContainsKey(snapshot.AggregateId)) { _items[snapshot.AggregateId] = snapshot; } else { _items.Add(snapshot.AggregateId, snapshot); } SerializerHelper.SaveListToFile(_memoryDumpFile, new[] { _items }); }
public async Task SaveSnapshotAsync(Type aggregateType, NEventLite.Snapshot.Snapshot snapshot) { using (IRedisClient redis = _clientsManager.GetClient()) { JsonSerializerSettings serializerSettings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; var strSnapshot = JsonConvert.SerializeObject(snapshot, serializerSettings); redis.SetValue(snapshot.AggregateId.ToString(), strSnapshot); } }
public async Task <NEventLite.Snapshot.Snapshot> GetSnapshotAsync(Type aggregateType, Guid aggregateId) { NEventLite.Snapshot.Snapshot snapshot = null; using (IRedisClient redis = _clientsManager.GetClient()) { var strSnapshot = redis.GetValue(aggregateId.ToString()); if (string.IsNullOrEmpty(strSnapshot) == false) { JsonSerializerSettings serializerSettings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; snapshot = JsonConvert.DeserializeObject <NEventLite.Snapshot.Snapshot>( strSnapshot, serializerSettings); } } return(snapshot); }