Пример #1
0
        public void ConversionToBaseInterface()
        {
            ICurrencySet convSet = _set;

            var allCur = convSet.AllCurencies;
            var cur    = convSet.TryParse("EUR");
        }
Пример #2
0
        public void ConversionToInterfaceItem()
        {
            ICurrencySet <ICurrency> convSet = _set;

            var allCur = convSet.AllCurencies;
            var cur    = convSet.TryParse("EUR");
        }
Пример #3
0
        /// <summary>
        /// Return currency from character code
        /// </summary>
        /// <param name="currencySet">this currency set</param>
        /// <param name="charCode">
        /// character code
        /// </param>
        /// <exception cref="System.NotSupportedException">if currrency set is not contain this currency</exception>
        public static ICurrency Parse <T>(this ICurrencySet <T> currencySet, string charCode) where T : class, ICurrency
        {
            var currency = currencySet.TryParse(charCode);

            if (currency != null)
            {
                return(currency);
            }

            throw new NotSupportedException("currency code '" + charCode + "' not supported");
        }
Пример #4
0
        /// <inheritdoc/>
        public override ICurrency Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
        {
            var bsonReader = context.Reader;
            var bsonType   = context.Reader.GetCurrentBsonType();

            switch (bsonType)
            {
            case BsonType.Null:
                bsonReader.ReadNull();
                return(null);

            case BsonType.String:
                var charCode = bsonReader.ReadString();
                return(_currencySet.TryParse(charCode) ??
                       throw new NotSupportedException("currency code '" + charCode + "' not supported"));

            default:
                throw new FormatException($"Cannot deserialize BsonString from BsonType {bsonType}.");
            }
        }
Пример #5
0
 /// <summary>
 /// Return currency from character code
 /// </summary>
 /// <param name="currencySet">
 /// currency set
 /// </param>
 /// <param name="charCode">
 /// character code
 /// </param>
 /// <param name="currency">
 /// currency
 /// </param>
 /// <returns>
 /// true if set contain this currency
 /// </returns>
 public static bool TryParse <T>(this ICurrencySet <T> currencySet, string charCode, out T currency) where T : class, ICurrency
 {
     currency = currencySet.TryParse(charCode);
     return(currency != null);
 }
Пример #6
0
 /// <summary>
 /// Currency set is contains an instance of a character code
 /// </summary>
 /// <param name="currencySet">this currency set</param>
 /// <param name="charCode">
 /// character code
 /// </param>
 public static bool Contain <T>(this ICurrencySet <T> currencySet, string charCode) where T : class, ICurrency
 {
     return(currencySet.TryParse(charCode) != null);
 }
Пример #7
0
        /// <summary>
        /// Currency set is contains specified currency
        /// </summary>
        public static bool Contain <T>(this ICurrencySet <T> currencySet, T currency) where T : class, ICurrency
        {
            var candidate = currencySet.TryParse(currency.CharCode);

            return(candidate != null && ReferenceEquals(candidate, currency));
        }
Пример #8
0
        /// <summary>
        /// Currency set is contains specified currency
        /// </summary>
        public static bool Contain(this ICurrencySet currencySet, ICurrency currency)
        {
            var candidate = currencySet.TryParse(currency.CharCode);

            return(candidate != null && ReferenceEquals(candidate, currency));
        }