public FiatCurrency(FiatCurrencies currency, decimal howManyForOneUSD = decimal.MinValue) : base(howManyForOneUSD) { Precision = 2; FiatCurrencyId = currency; base.CurrencyId = (Currencies)currency; }
public decimal GetTokenPrice(string aTokenContract, FiatCurrencies aBaseFiatCurrency) { decimal lResult = 0; if (FTokenWatchInventory.TryGetValue(aTokenContract, out ICurrencyToken lCurrencyToken)) { var lFoundPrices = FTokenPrices.Where((lPricePair) => lPricePair.Key.Contains(lCurrencyToken.ContractAddress.ToLowerInvariant())).Select(lPricePair => lPricePair.Value); var lPrice = lFoundPrices.Where(lFoundPrice => string.Equals(lFoundPrice.Name, lCurrencyToken.ContractAddress, StringComparison.OrdinalIgnoreCase) && string.Equals(lFoundPrice.Reference, aBaseFiatCurrency.ToString(), StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (lPrice != null) { lResult = lPrice.Price; } } return(lResult); }
public decimal GetPrice(long aCurrencyID, FiatCurrencies aBaseFiatCurrency) { decimal lResult = 0; if (FCurrencyWatchInventory.TryGetValue(aCurrencyID, out ICurrencyItem lCurrency)) { var lFoundPrices = FCurrencyPrices.Where((lPricePair) => lPricePair.Key.Contains(lCurrency.Ticker.ToLowerInvariant())).Select(lPricePair => lPricePair.Value); var lPrices = lFoundPrices.Where(lFoundPrice => string.Equals(lFoundPrice.Ticker, lCurrency.Ticker, StringComparison.OrdinalIgnoreCase) && string.Equals(lFoundPrice.Reference, aBaseFiatCurrency.ToString(), StringComparison.OrdinalIgnoreCase)); var lPrice = lPrices.Count() > 1 ? lPrices.FirstOrDefault(lPriceItem => string.Equals(lPriceItem.Name, lCurrency.Name, StringComparison.OrdinalIgnoreCase)) : lPrices.FirstOrDefault(); if (lPrice != null) { lResult = lPrice.Price; } } return(lResult); }
/// <summary> /// Gets a FiatCurrency representing the type passed /// </summary> /// <param name="curr">The type of the fiat currency to get</param> /// <returns></returns> public static Currency GetBySymbol(FiatCurrencies curr) { switch (curr) { case FiatCurrencies.AED: case FiatCurrencies.CNY: case FiatCurrencies.EUR: case FiatCurrencies.GBP: case FiatCurrencies.PHP: case FiatCurrencies.USD: case FiatCurrencies.VND: return(new FiatCurrency(curr)); default: return(null); } }