示例#1
0
 /// <summary>
 /// Gets global data about all curencies and assets.
 /// </summary>
 /// <param name="Currency">Fiat currency to convert to.</param>
 /// <returns>Object containing global data.</returns>
 public static async Task <GlobalData> GetGlobalData(Currencies Currency = Currencies.USD) =>
 await GlobalData.GetDataAsync(Currency).ConfigureAwait(false);
示例#2
0
        private static async Task <GlobalData> ParseResponseAsync(string response, Currencies currency)
        {
            GlobalData data = new GlobalData();

            data.Currency = currency;
            using (JsonTextReader jtr = new JsonTextReader(new StringReader(response)))
            {
                while (await jtr.ReadAsync().ConfigureAwait(false))
                {
                    if (jtr.Value != null)
                    {
                        if (jtr.Value.ToString() == "total_market_cap_usd")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.TotalMarketCapUSD = Convert.ToDouble(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "total_24h_volume_usd")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.Total24HourVolumeUSD = Convert.ToDouble(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "bitcoin_percentage_of_market_cap")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.BitcoinPercentageOfMarketCap = Convert.ToDouble(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "active_currencies")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.ActiveCurrencies = Convert.ToInt32(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "active_assets")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.ActiveAssets = Convert.ToInt32(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "active_markets")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.ActiveMarkets = Convert.ToInt32(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "last_updated")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.LastUpdated = Convert.ToInt32(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == "error")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.Error = jtr.Value.ToString();
                        }
                        else if (jtr.Value.ToString() == string.Format("total_market_cap_{0}", currency.ToString().ToLower()))
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.TotalMarketCap = Convert.ToDouble(jtr.Value.ToString());
                        }
                        else if (jtr.Value.ToString() == string.Format("total_24h_volume_{0}", currency.ToString().ToLower()))
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            data.Total24HourVolume = Convert.ToDouble(jtr.Value.ToString());
                        }
                    }
                    else
                    {
                        continue;
                    }
                }
            }
            if (currency == Currencies.USD)
            {
                data.TotalMarketCap    = data.TotalMarketCapUSD;
                data.Total24HourVolume = data.Total24HourVolumeUSD;
            }
            return(data);
        }