Exemple #1
0
        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
            });
        }
Exemple #3
0
        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);
        }