public RequiredPaymentEventRepository(IAuditDataContext dataContext, IAuditDataContextFactory retryDataContextFactory, IPaymentLogger logger)
 {
     this.dataContext             = dataContext ?? throw new ArgumentNullException(nameof(dataContext));
     this.retryDataContextFactory = retryDataContextFactory ?? throw new ArgumentNullException(nameof(retryDataContextFactory));
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }