public Task <AggregateView> Load(AggregateViewInfo aggregateViewInfo, String aggregateId) { if (!_db.ContainsKey(aggregateViewInfo.Type)) { return(Task.FromResult <AggregateView>(null)); } return(Task.FromResult(_db[aggregateViewInfo.Type].ContainsKey(aggregateId) ? _db[aggregateViewInfo.Type][aggregateId] : null)); }
public async Task <AggregateView> Load(AggregateViewInfo aggregateViewInfo, String aggregateId) { var view = await _viewStore.Load(aggregateViewInfo, aggregateId); if (aggregateViewInfo.IsRoot && view == null) { view = (AggregateView)Activator.CreateInstance(aggregateViewInfo.Type); view.AggregateId = aggregateId; } return(view); }
public async Task <AggregateView> Load(AggregateViewInfo aggregateViewInfo, String aggregateId) { if (aggregateViewInfo == null) { throw new ArgumentNullException(nameof(aggregateViewInfo)); } if (String.IsNullOrWhiteSpace(aggregateId)) { throw new ArgumentNullException(nameof(aggregateId)); } var collection = Db.GetCollection <BsonDocument>(aggregateViewInfo.Id); var filter = new BsonDocument("AggregateId", aggregateId); var documents = await collection.Find(filter).ToListAsync(); var document = documents.SingleOrDefault(); if (document == null) { return(null); } return((AggregateView)BsonSerializer.Deserialize(document, aggregateViewInfo.Type)); }
public void ListenViewUpdates(AggregateViewInfo aggregateViewInfo, Func <AggregateView, Task> listener) { throw new NotImplementedException(); }