public void Handle(ModifyItemName command) { var aggregate = _eventStore.GetById <InventoryAggregateRoot>(command.Id); aggregate.ChangeName(command.NewName); _eventStore.Save(aggregate.Id, aggregate.GetUncommittedChanges(), command.ExpectedVersion); }
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??"); }
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); }