public async Task <ILRFileDetailsModel> GetFileDetails(int ukPrn, CancellationToken cancellationToken) { ILRFileDetailsModel fileDetail = null; try { if (cancellationToken.IsCancellationRequested) { return(null); } fileDetail = await _context.FileDetails .Where(fd => fd.UKPRN == ukPrn) .OrderBy(fd => fd.SubmittedTime) .Select(fd => new ILRFileDetailsModel { FileName = fd.Filename, LastSubmission = fd.SubmittedTime }) .FirstOrDefaultAsync(cancellationToken); } catch (Exception ex) { _logger.LogError($"Failed to get file details with ukPrn {ukPrn}", ex); } if (fileDetail != null && !string.IsNullOrEmpty(fileDetail.FileName)) { fileDetail.Year = FileNameHelper.GetFundingYearFromILRFileName(fileDetail.FileName); } return(fileDetail); }
public async Task <IEnumerable <ILRFileDetailsModel> > GetIlrFileDetails(int ukPrn, CancellationToken cancellationToken) { ILRFileDetailsModel ilrFileData = await _repository.GetFileDetails(ukPrn, cancellationToken); IEnumerable <ILRFileDetailsModel> previousYearsFiles = await _legacyIlrService.GetPreviousYearsILRFileDetails(ukPrn, cancellationToken); var ilrYearlyFileData = new List <ILRFileDetailsModel>(); if (previousYearsFiles != null) { ilrYearlyFileData.AddRange(previousYearsFiles.OrderBy(fd => fd.Year)); } ilrYearlyFileData.Add(ilrFileData); return(ilrYearlyFileData); }