private async Task <Framework> GetFramework(int frameworkCode, int programType, int pathwayCode) { try { var frameworksView = _inProcessCache.Get <FrameworksView>(nameof(FrameworksView)); if (frameworksView != null) { return(frameworksView.Frameworks.SingleOrDefault(f => f.FrameworkCode.Equals(frameworkCode) && f.ProgrammeType.Equals(programType) && f.PathwayCode.Equals(pathwayCode))); } frameworksView = await _apprenticeshipInfoService.GetFrameworksAsync(); if (frameworksView != null) { _inProcessCache.Set(nameof(FrameworksView), frameworksView, new TimeSpan(1, 0, 0)); } return(frameworksView?.Frameworks.SingleOrDefault(f => f.FrameworkCode.Equals(frameworkCode) && f.ProgrammeType.Equals(programType) && f.PathwayCode.Equals(pathwayCode))); } catch (Exception e) { _logger.Warn(e, "Could not get frameworks from apprenticeship API."); } return(null); }
public async Task <GetFrameworksQueryResponse> Handle(GetFrameworksQueryRequest message) { var data = await _apprenticeshipInfoServiceWrapper.GetFrameworksAsync(); return(new GetFrameworksQueryResponse { Frameworks = data.Frameworks }); }
public async Task <GetTrainingProgrammesQueryResponse> Handle(GetTrainingProgrammesQueryRequest message) { var standardsTask = _apprenticeshipInfoServiceWrapper.GetStandardsAsync(); var frameworksTask = _apprenticeshipInfoServiceWrapper.GetFrameworksAsync(); await Task.WhenAll(standardsTask, frameworksTask); var programmes = standardsTask.Result.Standards.Union(frameworksTask.Result.Frameworks.Cast <ITrainingProgramme>()) .OrderBy(m => m.Title) .ToList(); return(new GetTrainingProgrammesQueryResponse { TrainingProgrammes = programmes }); }
private async Task <Framework> GetFramework(int frameworkCode, int programType, int pathwayCode) { try { var frameworksView = await _apprenticeshipInfoService.GetFrameworksAsync(); return(frameworksView.Frameworks.SingleOrDefault(f => f.FrameworkCode.Equals(frameworkCode) && f.ProgrammeType.Equals(programType) && f.PathwayCode.Equals(pathwayCode))); } catch (Exception e) { _logger.Warn(e, "Could not get frameworks from apprenticeship API."); } return(null); }