Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
 public void ListenViewUpdates(AggregateViewInfo aggregateViewInfo, Func <AggregateView, Task> listener)
 {
     throw new NotImplementedException();
 }