Example #1
0
        public CurrencyConverter Create(CurrencyConversion conversion)
        {
            var rates = _exchangeRateRepository.GetActualForExchange(conversion.ExchangeRateKey);

            if (rates.Count == 0)
            {
                var message = string.Format("Conversion {0} is not supported.", conversion);
                throw new NotSupportedException(message);
            }
            if (rates.Count == 1)
            {
                return(rates[0].Converter);
            }
            var rate = rates.OrderBy(x => _settings.GetPriority(x.Base.ISOName)).First();

            return(rate.Converter);
        }