public CreateSaleHandler(ISalesRepository salesRepository, IBusPublisher busPublisher, IAccountingGroupVerifier agVerifier, IUserVerifier userVerifier, IPointOfSaleVerifier posVerifier, IAuthenticationMeansVerifier amVerifier, IProductVerifier productVerifier, IOfferVerifier offerVerifier) { _salesRepository = salesRepository ?? throw new ArgumentNullException(nameof(salesRepository)); _busPublisher = busPublisher ?? throw new ArgumentNullException(nameof(busPublisher)); _agVerifier = agVerifier ?? throw new ArgumentNullException(nameof(agVerifier)); _userVerifier = userVerifier ?? throw new ArgumentNullException(nameof(userVerifier)); _posVerifier = posVerifier ?? throw new ArgumentNullException(nameof(posVerifier)); _amVerifier = amVerifier ?? throw new ArgumentNullException(nameof(amVerifier)); _productVerifier = productVerifier ?? throw new ArgumentNullException(nameof(productVerifier)); _offerVerifier = offerVerifier ?? throw new ArgumentNullException(nameof(offerVerifier)); }