public DataMatchReport(
            ILogger logger,
            IFM36ProviderService fm36ProviderService,
            IDasCommitmentsService dasCommitmentsService,
            IPeriodProviderService periodProviderService,
            IStreamableKeyValuePersistenceService streamableKeyValuePersistenceService,
            IDateTimeProvider dateTimeProvider,
            IValueProvider valueProvider,
            ITopicAndTaskSectionOptions topicAndTaskSectionOptions,
            IValidationStageOutputCache validationStageOutputCache,
            IDatalockValidationResultBuilder datalockValidationResultBuilder,
            ITotalBuilder totalBuilder)
            : base(dateTimeProvider, valueProvider, streamableKeyValuePersistenceService)
        {
            _logger = logger;
            _fm36ProviderService             = fm36ProviderService;
            _dasCommitmentsService           = dasCommitmentsService;
            _periodProviderService           = periodProviderService;
            _validationStageOutputCache      = validationStageOutputCache;
            _datalockValidationResultBuilder = datalockValidationResultBuilder;
            _totalBuilder = totalBuilder;

            dataMatchModels = new List <DataMatchModel>();
            ReportFileName  = "Apprenticeship Data Match Report";
            ReportTaskName  = topicAndTaskSectionOptions.TopicReports_TaskGenerateDataMatchReport;
        }
        public ValidationErrorsReport(
            ILogger logger,
            IStreamableKeyValuePersistenceService streamableKeyValuePersistenceService,
            IJsonSerializationService jsonSerializationService,
            IIlrProviderService ilrProviderService,
            IDateTimeProvider dateTimeProvider,
            IValueProvider valueProvider,
            ITopicAndTaskSectionOptions topicAndTaskSectionOptions,
            IValidationErrorsService validationErrorsService,
            IValidationStageOutputCache validationStageOutputCache)
            : base(dateTimeProvider, valueProvider, streamableKeyValuePersistenceService)
        {
            _logger = logger;
            _jsonSerializationService   = jsonSerializationService;
            _ilrProviderService         = ilrProviderService;
            _validationErrorsService    = validationErrorsService;
            _validationStageOutputCache = validationStageOutputCache;

            ReportFileName = "Rule Violation Report";
            ReportTaskName = topicAndTaskSectionOptions.TopicReports_TaskGenerateValidationReport;
        }