public void UpdateFramework(FrameworkInformation fi, FrameworkMetaDataResult frameworks, IEnumerable <AchievementRateProvider> achievementRates, AchievementRateNationalResult nationalAchievementRates)
        {
            var metaData = frameworks.Frameworks.FirstOrDefault(m =>
                                                                m.FworkCode == fi.Code &&
                                                                m.PwayCode == fi.PathwayCode &&
                                                                m.ProgType == fi.ProgType);

            if (metaData != null)
            {
                var achievementRate = achievementRates.Where(m =>
                                                             IsEqual(m.Ssa2Code, metaData.SectorSubjectAreaTier2))
                                      .Where(m => TestLevel(m.ApprenticeshipLevel, ApprenticeshipLevelMapper.MapToLevel(metaData.ProgType)))
                                      .ToList();

                var nationalAchievementRate = nationalAchievementRates.Rates.Where(m =>
                                                                                   IsEqual(m.Ssa2Code, metaData.SectorSubjectAreaTier2))
                                              .Where(m => TestLevel(m.ApprenticeshipLevel, ApprenticeshipLevelMapper.MapToLevel(metaData.ProgType)))
                                              .ToList();

                var rate = ExtractValues(achievementRate);

                fi.OverallAchievementRate = rate.Item1;

                fi.OverallCohort = rate.Item2;

                fi.NationalOverallAchievementRate =
                    GetNationalOverallAchievementRate(nationalAchievementRate);
            }
        }
        public void UpdateStandard(StandardInformation si, StandardMetaDataResult standards, IEnumerable <AchievementRateProvider> achievementRates, AchievementRateNationalResult nationalAchievementRates)
        {
            var metaData = standards.Standards.FirstOrDefault(m => m.Id == si.Code);

            if (metaData != null)
            {
                var achievementRate = achievementRates.Where(m =>
                                                             IsEqual(m.Ssa2Code, metaData.SectorSubjectAreaTier2))
                                      .Where(m => TestLevel(m.ApprenticeshipLevel, metaData.NotionalEndLevel))
                                      .ToList();

                var nationalAchievementRate = nationalAchievementRates.Rates.Where(m =>
                                                                                   IsEqual(m.Ssa2Code, metaData.SectorSubjectAreaTier2))
                                              .Where(m => TestLevel(m.ApprenticeshipLevel, metaData.NotionalEndLevel))
                                              .ToList();

                var rate = ExtractValues(achievementRate);
                si.OverallAchievementRate = rate.Item1;
                si.OverallCohort          = rate.Item2;

                si.NationalOverallAchievementRate =
                    GetNationalOverallAchievementRate(nationalAchievementRate);

                si.RegulatedStandard = metaData.RegulatedStandard;
            }
        }