public async Task ExecuteAsync(IDesktopReferenceDataContext context, CancellationToken cancellationToken) { try { // get reference data and build model. _logger.LogInfo("Starting Reference Data Population"); var referenceData = await _referenceDataPopulationService.PopulateAsync(cancellationToken); _logger.LogInfo("Finished Reference Data Population"); // output model. _logger.LogInfo("Starting Reference Data Output"); await _desktopReferenceDataFileService.ProcessAsync(context, referenceData, cancellationToken); _logger.LogInfo("Finished Reference Data Output"); // output summary. _logger.LogInfo("Starting Reference Summary Output"); await _desktopReferenceDataSummaryFileService.ProcessAync(context, cancellationToken); _logger.LogInfo("Finished Reference Summary Output"); } catch (Exception exception) { _logger.LogError("Reference Data Service Output Exception", exception); throw; } }
public async Task ProcessAync(IDesktopReferenceDataContext context, CancellationToken cancellationToken) { _logger.LogInfo("Generating Reference Data Report Summary"); var ukDateTime = _dateTimeProvider.ConvertUtcToUk(context.SubmissionDateTimeUTC); var filePath = BuildFilePath(context); var fileName = FileNameBuilder(context.CollectionName, filePath, ukDateTime); var statistics = _referenceDataStatisticsService.GetStatistics(); await _csvFileService.WriteAsync <ReferenceDataSummaryStatistics, ReferenceDataSummaryFileMapper>(statistics, fileName, context.Container, cancellationToken); }
public async Task ProcessAsync(IDesktopReferenceDataContext context, DesktopReferenceDataRoot desktopReferenceDataRoot, CancellationToken cancellationToken) { _logger.LogInfo("Generating Desktop Reference Data File."); var filePath = BuildFilePath(context); var fileName = _desktopReferenceDataFileNameService.BuildFileName(filePath, _desktopRefDataConfig.DesktopReferenceDataFilePreFix, context.VersionNumber); await _zipFileService.SaveCollectionZipAsync( fileName, context.Container, desktopReferenceDataRoot.MetaDatas, desktopReferenceDataRoot.DevolvedPostcodes, desktopReferenceDataRoot.Employers, desktopReferenceDataRoot.EPAOrganisations, desktopReferenceDataRoot.LARSFrameworks, desktopReferenceDataRoot.LARSFrameworkAims, desktopReferenceDataRoot.LARSLearningDeliveries, desktopReferenceDataRoot.LARSStandards, desktopReferenceDataRoot.Organisations, desktopReferenceDataRoot.Postcodes, cancellationToken); }
private string BuildFilePath(IDesktopReferenceDataContext context) { return($@"{context.CollectionName}\{context.JobId}"); }