public SubmissionMetricsRepository(IMetricsPersistenceDataContext persistenceDataContext, IMetricsQueryDataContextFactory metricsQueryDataContextFactory, IPaymentLogger logger)
        {
            this.persistenceDataContext         = persistenceDataContext ?? throw new ArgumentNullException(nameof(persistenceDataContext));
            this.metricsQueryDataContextFactory = metricsQueryDataContextFactory ?? throw new ArgumentNullException(nameof(metricsQueryDataContextFactory));
            this.logger = logger ?? throw new ArgumentNullException(nameof(logger));

            //((IMetricsQueryDataContext)queryDataContext).ConfigureLogging(LogSql, LoggingCategories.SQL);  ////TODO: DO NOT DELETE UNTIL THIS CAN BE CONFIGURED IN CONFIG
        }
 public PeriodEndMetricsRepository(IMetricsPersistenceDataContext persistenceDataContext, IMetricsQueryDataContextFactory metricsQueryDataContextFactory, IPaymentLogger logger)
 {
     this.persistenceDataContext         = persistenceDataContext ?? throw new ArgumentNullException(nameof(persistenceDataContext));
     this.metricsQueryDataContextFactory = metricsQueryDataContextFactory ?? throw new ArgumentNullException(nameof(metricsQueryDataContextFactory));
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }