Пример #1
0
        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);
        }
Пример #2
0
        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);
        }