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); }
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); }