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); }
public async Task <IEnumerable <Currency> > GetCurrenciesAsync() { return(await _masterDataRepository.GetCurrenciesAsync()); }