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);
        }
Beispiel #2
0
        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;
 }