Esempio n. 1
0
        private static void WireUpTransactional(IDispatcher dispatcher, IMessageBus messageBus)
        {
            var eventStore = new InMemoryEventStore();
            var aggregateRootRepository = new InMemoryAggregateRootRepository(eventStore);

            var roomsDomain = new RoomsDomain(aggregateRootRepository, messageBus);

            dispatcher.RegisterHandler <CreateRooms>(x => roomsDomain.Consume(x));
            dispatcher.RegisterHandler <ReserveRooms>(x => roomsDomain.Consume(x));
        }
Esempio n. 2
0
            public async Task ShouldSaveAggregateRoot()
            {
                var aggregateRoot = new TestAggregateRoot(Guid.NewGuid());

                var repository = new InMemoryAggregateRootRepository <TestAggregateRoot>();
                await repository.SaveAsync(aggregateRoot);

                var result = await repository.GetByIdAsync(aggregateRoot.Id);

                result.Should().Be(aggregateRoot);
            }
Esempio n. 3
0
            public async Task ShouldReplaceExistingAggregateRoots()
            {
                var aggregateRoot1 = new TestAggregateRoot(Guid.NewGuid());
                var aggregateRoot2 = new TestAggregateRoot(Guid.NewGuid());

                var repository = new InMemoryAggregateRootRepository <TestAggregateRoot>();
                await repository.SaveAsync(aggregateRoot1);

                await repository.SaveAsync(aggregateRoot2);

                var result = await repository.GetByIdAsync(aggregateRoot2.Id);

                result.Should().Be(aggregateRoot2);
            }