public void Handle(ModifyItemName command)
        {
            var aggregate = _eventStore.GetById <InventoryAggregateRoot>(command.Id);

            aggregate.ChangeName(command.NewName);
            _eventStore.Save(aggregate.Id, aggregate.GetUncommittedChanges(), command.ExpectedVersion);
        }
Example #2
0
        public void UnpredictableResult()
        {
            //Given
            Guid         id             = Guid.NewGuid();
            const string name           = "test";
            var          target         = new EventStore();
            var          commandHandler = new InventoryCommandHandler(target);

            commandHandler.Handle(new CreateInventoryItem(id, name));

            //When
            var user01Result = target.GetById <InventoryAggregateRoot>(id);
            var user02Result = target.GetById <InventoryAggregateRoot>(id);

            user02Result.ChangeName("02");
            user01Result.ChangeName("01");

            //Then
            Assert.Inconclusive("Who will be saved??");
        }
Example #3
0
        public void ShouldRehydrate()
        {
            //Given
            Guid         id             = Guid.NewGuid();
            const string name           = "test";
            var          target         = new EventStore();
            var          commandHandler = new InventoryCommandHandler(target);

            commandHandler.Handle(new CreateInventoryItem(id, name));

            //When
            var result = target.GetById <InventoryAggregateRoot>(id);

            //Then
            Assert.AreEqual(id, result.Id);
        }