public Money Exchange(Money money, Currency targetCurrency) { if (money == null) { throw new ArgumentNullException(nameof(money)); } if (targetCurrency == null) { throw new ArgumentNullException(nameof(targetCurrency)); } var exchangeRates = _exchangeRateProvider.GetExchangeRatesFor(money.Currency); var exchangeRate = exchangeRates[targetCurrency]; return(new Money(money.Amount * exchangeRate, targetCurrency)); }
private decimal GetCurrentRate(Currency currency) { var dollarConversionRates = _provider.GetExchangeRatesFor(Currency.Dollar); return(dollarConversionRates[currency]); }