コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }