public override void Handle(CreateSalesOrderCommand command) { var order = new SalesOrder(); order.Create(command.Id, command.MaxValue); IEnumerable <Event> events = order.GetUncommittedEvents(); _salesOrderRepository.Save(order); order.AcceptUncommittedEvents(); _eventBus.Publish(events); }
public void Handle(CreateSalesOrderCommand command) { var repository = _container.Resolve <IRepository <SalesOrder> >(); try { var order = new SalesOrder(); order.Create(command.Id, command.MaxValue); IEnumerable <Event> events = order.GetUncommittedEvents(); repository.Save(order); order.AcceptUncommittedEvents(); _eventBus.Send(events); } finally { _container.Release(repository); } }