private async Task SaveRateCache() { var cache = new ExchangeRatesCache(); cache.Created = DateTimeOffset.UtcNow; _LastCacheDate = cache.Created; cache.States = _RateProviderFactory.Providers .Select(p => p.Value) .OfType <BackgroundFetcherRateProvider>() .Where(IsStillUsed) .Select(p => p.GetState()) .ToList(); await _SettingsRepository.UpdateSetting(cache); }
private async Task SaveRateCache() { var cache = new ExchangeRatesCache(); cache.Created = DateTimeOffset.UtcNow; _LastCacheDate = cache.Created; var usedProviders = GetStillUsedProviders().ToArray(); cache.States = new List <BackgroundFetcherState>(usedProviders.Length); foreach (var provider in usedProviders) { var state = provider.Fetcher.GetState(); state.ExchangeName = provider.ExchangeName; cache.States.Add(state); } await _SettingsRepository.UpdateSetting(cache); }
public ValuesController(ExchangeRatesCache cache) { _cache = cache; }