private decimal GetExhangeRate(Guid currencyId) { var currency = this.GetCurrency(currencyId); if (currency.ExchangeRate == null) { Throwers.UnexpectedNullValue($"No exchange rate set for {currency.ISOCurrencyCode}!"); } return(currency.ExchangeRate.Value); }
/// <summary> /// Get Currency by ISO code. /// </summary> /// <param name="isoCode">Currency ISO code.</param> /// <returns>Returns full Transaction Currency record.</returns> /// <exception cref="ArgumentNullException"> /// Thrown if <param name="isoCode">isoCode</param> is empty. /// </exception> /// <exception cref="InvalidPluginExecutionException"> /// Thrown when there is no such Currency.</exception> public TransactionCurrency GetCurrency(string isoCode) { Throwers.IfNullArgument(isoCode, "isoCode"); var cur = this.TransactionCurrencies.SingleOrDefault(x => x.ISOCurrencyCode == isoCode); if (cur == null) { throw new InvalidPluginExecutionException($"Currency with ISO code {isoCode} does not exist in CRM."); } return(cur); }