Esempio n. 1
0
        private static async Task AppendEvent(Guid aggregateId)
        {
            IAggregateSchemaRegister schemaRegister = new AggregateSchemaRegister();

            schemaRegister.Discover(typeof(EventStoreIntegrationTests).Assembly);

            var stream = GetStream(await Connect(), new AggregateSchema <HotelAggregate>(schemaRegister.Get(typeof(HotelAggregate))));

            //await stream.Append(aggregateId, ExpectedVersion.Any,Guid.NewGuid(),new RoomAdded() {Number = "101"});
            throw new NotImplementedException();
        }
 void PrepareEvents(params Assembly[] assemblies)
 {
     this._aggregateSchemaRegister = new AggregateSchemaRegister();
     _aggregateSchemaRegister.Discover(assemblies);
     _events = new List <EventEntry>();
     foreach (IAggregateSchema i in _aggregateSchemaRegister)
     {
         foreach (var e in i.Events)
         {
             _events.Add(new EventEntry(e.EventType, i));
         }
     }
 }
Esempio n. 3
0
        public async Task AggregateShouldWorkWithEventStore()
        {
            IAggregateSchemaRegister schemaRegister = new AggregateSchemaRegister();

            schemaRegister.Discover(typeof(EventStoreIntegrationTests).Assembly);

            var hotelSchema = new AggregateSchema <HotelAggregate>(schemaRegister.Get(typeof(HotelAggregate)));
            var stream      = GetStream(await Connect(), hotelSchema);

            var aggregateId = Guid.NewGuid();
            await stream.Append(aggregateId, -2, Guid.NewGuid(), new RoomAdded()
            {
                Number = "101"
            });

            stream = GetStream(await Connect(), hotelSchema);

            var            items     = stream.Get(aggregateId);
            HotelAggregate aggregate = new HotelAggregate();
            await aggregate.RehydrateAsync(items);

            // aggregate.Value.AvailableRooms.Should().HaveCount(1);
        }