public async Task RunTasks( IJobContextMessage jobContextMessage, IReadOnlyList <ITaskItem> tasks, CancellationToken cancellationToken) { var wrapper = new SupplementaryDataWrapper(); var sourceFileModel = new SourceFileModel(); if (tasks.SelectMany(t => t.Tasks).Contains(Constants.ValidationTask)) { sourceFileModel = _fileHelper.GetSourceFileData(jobContextMessage); wrapper = await _fileValidationService.GetFile(sourceFileModel, cancellationToken); if (!wrapper.ValidErrorModels.Any()) { wrapper = _fileValidationService.RunFileValidators(sourceFileModel, wrapper); } if (wrapper.ValidErrorModels.Any()) { await _storageController.StoreValidationOnly(sourceFileModel, wrapper, cancellationToken); await _reportingController.FileLevelErrorReport(wrapper, sourceFileModel, cancellationToken); return; } } await _taskHelper.ExecuteTasks(tasks, sourceFileModel, wrapper, cancellationToken); }
public async Task RunTasks( IEsfJobContext esfJobContext, CancellationToken cancellationToken) { var wrapper = new SupplementaryDataWrapper(); var sourceFileModel = _sourceFileModelBuilder.BuildDefault(esfJobContext); _periodHelper.CacheCurrentPeriod(esfJobContext); _excelFileService.ApplyLicense(Assembly.GetExecutingAssembly().GetManifestResourceStream(LicenseResource)); if (esfJobContext.Tasks.Contains(Constants.ValidationTask)) { sourceFileModel = _sourceFileModelBuilder.Build(esfJobContext); wrapper = await _fileValidationService.GetFile(esfJobContext, sourceFileModel, cancellationToken); if (!wrapper.ValidErrorModels.Any()) { await _validationErrorMessageService.PopulateErrorMessages(cancellationToken); wrapper = await _fileValidationService.RunFileValidators(sourceFileModel, wrapper); } if (wrapper.ValidErrorModels.Any()) { await _storageController.StoreValidationOnly(sourceFileModel, wrapper, cancellationToken); await _reportingController.FileLevelErrorReport(esfJobContext, wrapper, sourceFileModel, cancellationToken); return; } } await _taskHelper.ExecuteTasks(esfJobContext, sourceFileModel, wrapper, cancellationToken); await _reportingController.ProduceReports(esfJobContext, wrapper, sourceFileModel, cancellationToken); }