Beispiel #1
0
 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);
        }
Beispiel #4
0
        /// <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);
            }
        }