public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { var providerContext = _providerContextProvider.GetProviderContext(); var apprenticeships = await _sqlQueryDispatcher.ExecuteQuery(new GetApprenticeshipsForProvider() { ProviderId = providerContext.ProviderInfo.ProviderId }); var allRegions = await _regionCache.GetAllRegions(); var rows = apprenticeships .OrderBy(x => x.Standard.StandardCode) .ThenBy(x => x.Standard.Version) .SelectMany(app => CsvApprenticeshipRow.FromModel(app, allRegions)) .ToList(); var fileName = FileNameHelper.SanitizeFileName( $"{providerContext.ProviderInfo.ProviderName}_apprenticeships_{_clock.UtcNow:yyyyMMddHHmm}.csv"); return(new Response() { FileName = fileName, Rows = rows }); }
public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { var providerContext = _providerContextProvider.GetProviderContext(); var courses = await _sqlQueryDispatcher.ExecuteQuery(new GetCoursesForProvider() { ProviderId = providerContext.ProviderInfo.ProviderId }); var allRegions = await _regionCache.GetAllRegions(); var rows = courses.OrderBy(x => x.LearnAimRef) .ThenBy(x => x.CourseId) .SelectMany(course => CsvCourseRow.FromModel(course, allRegions)) .ToList(); var fileName = FileNameHelper.SanitizeFileName( $"{providerContext.ProviderInfo.ProviderName}_courses_{_clock.UtcNow:yyyyMMddHHmm}.csv"); return(new Response() { FileName = fileName, Rows = rows }); }
public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { var providerContext = _providerContextProvider.GetProviderContext(); var venues = await _sqlQueryDispatcher.ExecuteQuery(new GetVenuesForProvider() { ProviderId = providerContext.ProviderInfo.ProviderId }); var rows = venues .OrderBy(v => v.ProviderVenueRef) .ThenBy(v => v.VenueName) .Select(VenueRow.FromModel) .ToList(); var fileName = FileNameHelper.SanitizeFileName( $"{providerContext.ProviderInfo.ProviderName}_venues_{_clock.UtcNow:yyyyMMddHHmm}.csv"); return(new Response() { FileName = fileName, Rows = rows }); }
public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { var providerContext = _providerContextProvider.GetProviderContext(); var(uploadRows, uploadStatus) = await _fileUploadProcessor.GetCourseUploadRowsForProvider(providerContext.ProviderInfo.ProviderId); if (uploadStatus != UploadStatus.ProcessedWithErrors) { throw new InvalidUploadStatusException(uploadStatus, UploadStatus.ProcessedWithErrors); } var rows = uploadRows .Select(CsvCourseRowWithErrors.FromModel) .ToList(); var fileName = FileNameHelper.SanitizeFileName( $"{providerContext.ProviderInfo.ProviderName}_courses_errors_{_clock.UtcNow:yyyyMMddHHmm}.csv"); return(new Response() { FileName = fileName, Rows = rows }); }