async Task PopulateProviderSummariesForSpecification(string specificationId, IEnumerable <ProviderSummary> allCachedProviders) { string cacheKey = $"{CacheKeys.ScopedProviderSummariesPrefix}{specificationId}"; IEnumerable <string> providerIdsAll = await _providerResultsRepositoryPolicy.ExecuteAsync(() => _resultsRepository.GetAllProviderIdsForSpecificationId(specificationId)); IList <ProviderSummary> providerSummaries = new List <ProviderSummary>(); foreach (string providerId in providerIdsAll) { ProviderSummary cachedProvider = allCachedProviders.FirstOrDefault(m => m.Id == providerId); if (cachedProvider != null) { providerSummaries.Add(cachedProvider); } } await _cacheProvider.KeyDeleteAsync <ProviderSummary>(cacheKey); await _cacheProvider.CreateListAsync <ProviderSummary>(providerSummaries, cacheKey); }