Exemple #1
0
        private async Task <FxRate> GetFxRate(string currencyCodeToSearch, DateTime dateToSearch)
        {
            var fxRateCacheKey = $"{dateToSearch.ToString("yyyyMMdd", CultureInfo.InvariantCulture)}_{currencyCodeToSearch}";

            _cachedFxRates.TryGetValue(fxRateCacheKey, out var fxRate);

            if (fxRate == null)
            {
                fxRate = await _masterDataRepository.GetFxRateAsync(dateToSearch, currencyCodeToSearch);

                if (fxRate != null)
                {
                    _cachedFxRates.Add(fxRateCacheKey, fxRate);
                }
            }

            return(fxRate);
        }
Exemple #2
0
 public async Task <FxRate> GetFxRateAsync(DateTime fxRateDate, string currencyCode)
 {
     return(await _masterDataRepository.GetFxRateAsync(fxRateDate, currencyCode));
 }