예제 #1
0
        public override Object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, Object value, Type destinationType)
        {
            var concreteValue = (CurrencyTickerDto)value;
            var result        = new CurrencyTicker {
                Id               = CurrencyTypeRegistry.GetIdFromName(concreteValue.Name),
                LastUpdatedOn    = DateTimeOffset.FromUnixTimeSeconds(SafeParseLong(concreteValue.Last_updated)).UtcDateTime,
                MarketCapInUsd   = SafeParseDecimal(concreteValue.Market_cap_usd),
                Name             = concreteValue.Name,
                Rank             = SafeParseInt(concreteValue.Rank),
                PercentChange1H  = SafeParseDecimal(concreteValue.Percent_change_1h),
                PercentChange24H = SafeParseDecimal(concreteValue.Percent_change_24h),
                PercentChange7D  = SafeParseDecimal(concreteValue.Percent_change_7d),
                PriceInBtc       = SafeParseDecimal(concreteValue.Price_btc),
                PriceInUsd       = SafeParseDecimal(concreteValue.Price_usd),
                Symbol           = concreteValue.Symbol,
                VolumeInUsd24H   = SafeParseDecimal(concreteValue.VolumeUsd24h)
            };

            return(result);
        }
예제 #2
0
        private String FormatCurrencyForDisplay(int currencyId, CurrencyDisplayType displayType)
        {
            var currency = CurrencyTypeRegistry.GetNameAndSymbolFromId(currencyId);

            switch (displayType)
            {
            case CurrencyDisplayType.Name:
                return(currency.Item2);

            case CurrencyDisplayType.NameAndSymbol:
                return($"{currency.Item2} ({currency.Item1})");

            case CurrencyDisplayType.Symbol:
                return(currency.Item1);

            case CurrencyDisplayType.SymbolAndName:
                return($"{currency.Item1} ({currency.Item2})");
            }

            return(String.Empty);
        }