public EarningEventSubmissionSucceededProcessor(IPaymentsEventModelBatchService <EarningEventModel> batchService,
                                                 IPaymentLogger logger, IEarningEventRepository repository)
 {
     this.batchService = batchService ?? throw new ArgumentNullException(nameof(batchService));
     this.logger       = logger ?? throw new ArgumentNullException(nameof(logger));
     this.repository   = repository ?? throw new ArgumentNullException(nameof(repository));
 }
 public EarningEventStorageService(IEarningEventMapper mapper, IPaymentLogger logger, IEarningEventRepository repository, IEarningsDuplicateEliminator duplicateEliminator)
 {
     this.mapper              = mapper ?? throw new ArgumentNullException(nameof(mapper));
     this.logger              = logger ?? throw new ArgumentNullException(nameof(logger));
     this.repository          = repository ?? throw new ArgumentNullException(nameof(repository));
     this.duplicateEliminator = duplicateEliminator ?? throw new ArgumentNullException(nameof(duplicateEliminator));
 }