public async Task <IList <ILR1718.EsfLearningDeliveryDeliverablePeriodisedValues> > Get1718PeriodisedValues( int ukPrn, ILRConfiguration configuration, CancellationToken cancellationToken) { IList <ILR1718.EsfLearningDeliveryDeliverablePeriodisedValues> values = null; try { if (cancellationToken.IsCancellationRequested) { return(null); } var optionsBuilder = new DbContextOptionsBuilder <ILR1718.ILR1718Context>(); optionsBuilder.UseSqlServer( configuration.ILR1718ConnectionString, providerOptions => providerOptions.CommandTimeout(60)); using (_1718Context = new ILR1718.ILR1718Context(optionsBuilder.Options)) { values = await _1718Context.EsfLearningDeliveryDeliverablePeriodisedValues .Where(v => v.Ukprn == ukPrn) .ToListAsync(cancellationToken); } } catch (Exception ex) { // _logger.LogError($"Failed to get 17/18 FM70 periodised values with ukPrn {ukPrn}", ex); } return(values); }
public async Task <ILRFileDetails> GetLatest1718FileDetailsPerUkPrn( int ukPrn, ILRConfiguration configuration, CancellationToken cancellationToken) { ILRFileDetails result = null; try { if (cancellationToken.IsCancellationRequested) { return(null); } var optionsBuilder = new DbContextOptionsBuilder <ILR1718.ILR1718Context>(); optionsBuilder.UseSqlServer( configuration.ILR1617ConnectionString, providerOptions => providerOptions.CommandTimeout(60)); using (_1718Context = new ILR1718.ILR1718Context(optionsBuilder.Options)) { result = await _1718Context.FileDetails .Where(fd => fd.Ukprn == ukPrn) .OrderByDescending(fd => fd.SubmittedTime) .Select(fd => new ILRFileDetails { FileName = fd.Filename, LastSubmission = fd.SubmittedTime }).FirstOrDefaultAsync(cancellationToken); } } catch (Exception ex) { // _logger.LogError($"Failed to get 17/18 file details with ukPrn {ukPrn}", ex); } return(result); }