示例#1
0
        public async Task ProduceReportsAsync(IEnumerable <ReportDataModel> reportData, INcsJobContextMessage ncsJobContextMessage, CancellationToken cancellationToken)
        {
            var reportOutputFileNames = new List <string>();

            foreach (var report in _ncsReports)
            {
                var reportsGenerated = await report.GenerateReport(reportData, ncsJobContextMessage, cancellationToken);

                reportOutputFileNames.AddRange(reportsGenerated);
            }

            var zipName = _filenameService.GetZipName(ncsJobContextMessage.Ukprn, ncsJobContextMessage.JobId, ReportConstants.DctZipName);

            await _zipService.CreateZipAsync(zipName, reportOutputFileNames, ncsJobContextMessage.DctContainer, cancellationToken);

            await CopyZipToDss(zipName, ncsJobContextMessage, cancellationToken);
        }