public IEnumerable <ProviderLocations> FindAllProvidersLocations(List <int> providerUkprns) { List <ProviderLocations> providerlocations = new List <ProviderLocations>(); dynamic providers = GetProvidersFromCourseDirectory(); _frameworksfromApi = frameworkApiClient.FindAll(); _standardsfromApi = standardApiClient.FindAll(); _inspectionOutcomes = _inspectionOutcomeClient.GetOfstedInspectionOutcomes().InspectionOutcomes; var providersfromApi = providerApiClient.FindAll().ToList(); foreach (var provider in providers) { foreach (var ukprn in providerUkprns) { if (provider.ukprn == ukprn) { var providerlocation = new ProviderLocations { Ukprn = ukprn, TrainingLocations = new List <TrainingLocation>(), Frameworks = new List <ProviderApprenticeship>(), Standards = new List <ProviderApprenticeship>() }; //Add Provider name AddProviderName(providersfromApi, providerlocation); //Add Provider locations AddTrainingLocations(provider.locations, providerlocation.TrainingLocations); //Add framework offered by provider AddFrameworks(provider.frameworks, providerlocation.Frameworks); //Add standard offered by provider AddStandards(provider.standards, providerlocation.Standards); //Add OverallEffectiveness report by Ofsted AddOverallEffectiveness(providerlocation); //Add a provider to the list of providers providerlocations.Add(providerlocation); } } } return(Verifyproviders(providersfromApi, providerlocations)); }
private void AddProviderName(List <ProviderSummary> providersfromApi, ProviderLocations providerlocation) { providerlocation.Name = providersfromApi.Single(x => x.Ukprn == providerlocation.Ukprn).ProviderName; }
private void AddOverallEffectiveness(ProviderLocations providerlocation) { var inspectionOutcome = _inspectionOutcomes.FirstOrDefault(x => x.Ukprn == providerlocation.Ukprn); providerlocation.OverallEffectiveness = inspectionOutcome?.OverallEffectiveness; }