Esempio n. 1
0
        private async Task <List <Currency> > LoadCurrencies()
        {
            // Retrieve data from cache
            string cacheKey   = $"Masterdata_Currencies";
            var    cachedJson = await _distributedCache.GetStringAsync(cacheKey);

            if (cachedJson != null)
            {
                var cachedCurrencies = JsonConvert.DeserializeObject <List <Currency> >(cachedJson);

                return(cachedCurrencies);
            }

            var currencies = (await _masterDataRepository.GetCurrenciesAsync()).ToList();

            // Save the data in cache
            var jsonToCache = JsonConvert.SerializeObject(currencies);
            await _distributedCache.SetStringAsync(cacheKey, jsonToCache, new DistributedCacheEntryOptions
            {
                AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10) // TODO: use settings ?
            });

            return(currencies);
        }
Esempio n. 2
0
 public async Task <IEnumerable <Currency> > GetCurrenciesAsync()
 {
     return(await _masterDataRepository.GetCurrenciesAsync());
 }