public UpdateSaleBasedStockOperationHandler(IStockOperationRepository repository, IBusPublisher busPublisher, IStockItemVerifier stockItemVerifier, ISaleVerifier saleVerifier) { _repository = repository ?? throw new ArgumentNullException(nameof(repository)); _busPublisher = busPublisher ?? throw new ArgumentNullException(nameof(busPublisher)); _stockItemVerifier = stockItemVerifier ?? throw new ArgumentNullException(nameof(stockItemVerifier)); _saleVerifier = saleVerifier ?? throw new ArgumentNullException(nameof(saleVerifier)); }