private decimal ExchangeMoney(string sourceCurrency, string targetCurrency)
        {
            if (exchangeRateRepository.Count() == 0)
            {
                DownloadNewExchangeRates();
            }

            var foundSourceCurrency = exchangeRateRepository.GetBySymbol(sourceCurrency);

            if (foundSourceCurrency.Equals(default(ExchangeRate)))
            {
                throw new NotFoundException($"Currency rate for {sourceCurrency} not found.");
            }

            if (targetCurrency == "CZK")
            {
                return(foundSourceCurrency.Kurz / foundSourceCurrency.Mnozstvi);
            }

            var foundTargetCurrency = exchangeRateRepository.GetBySymbol(targetCurrency);

            if (foundTargetCurrency.Equals(default(ExchangeRate)))
            {
                throw new NotFoundException($"Currency rate for {targetCurrency} not found.");
            }

            return(ComputeCrossRate(foundTargetCurrency, foundSourceCurrency));
        }