package be.swsb.fiazard.ordering.orderplacement; import be.swsb.fiazard.eventstore.AggregateRepository; public class PlaceOrderCommandHandler { private OrderFactory orderFactory; private AggregateRepository aggregateRepository; // TODO jozef+bktid: Bij CommandHandlers die eerst een aggregate moeten reconstrueren from eventstore // gaan we een fail fast inbouwen die de versie van het readmodel (zie state op command) checkt tov de versie op de aggregate public PlaceOrderCommandHandler(OrderFactory orderFactory, AggregateRepository aggregateRepository) { this.orderFactory = orderFactory; this.aggregateRepository = aggregateRepository; } public void handleCommand(PlaceOrderCommand command) { Order newOrder = orderFactory.makeANewOrder(command); aggregateRepository.saveAggregate(newOrder); } }