public JobContextMessageHandler(IPaymentLogger logger, IFileService azureFileService, IJsonSerializationService serializationService, IEndpointInstanceFactory factory, IEarningsJobClientFactory jobClientFactory, ITelemetry telemetry, IBulkWriter <SubmittedLearnerAimModel> submittedAimWriter, ISubmittedLearnerAimBuilder submittedLearnerAimBuilder, ISubmittedLearnerAimRepository submittedLearnerAimRepository, IJobStatusService jobStatusService) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.azureFileService = azureFileService ?? throw new ArgumentNullException(nameof(azureFileService)); this.serializationService = serializationService ?? throw new ArgumentNullException(nameof(serializationService)); this.factory = factory ?? throw new ArgumentNullException(nameof(factory)); this.jobClientFactory = jobClientFactory ?? throw new ArgumentNullException(nameof(jobClientFactory)); this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry)); this.submittedAimWriter = submittedAimWriter; this.submittedLearnerAimBuilder = submittedLearnerAimBuilder; this.submittedLearnerAimRepository = submittedLearnerAimRepository; this.jobStatusService = jobStatusService; }