protected GeneralCryptoDataClass getGeneralCryptoDataFunction(string selectedFiatCurrency) { GetGeneralCryptoAPIData getGeneralCryptoAPIData = new GetGeneralCryptoAPIData(); APIGeneralResult = getGeneralCryptoAPIData.GetGeneralCryptoAPIDataMain(selectedFiatCurrency); return(APIGeneralResult); }
public GeneralCryptoDataClass GetGeneralCryptoAPIDataMain(string selectedFiatCurrency) { GeneralCryptoDataClass result = null; try { result = GetGeneralCryptoData(selectedFiatCurrency); } catch (WebException e) { Console.WriteLine(e.Message); } return(result); }
//Function that gets data about many currencies private GeneralCryptoDataClass GetGeneralCryptoData(string selectedFiatCurrency) { var URL = new UriBuilder("https://pro-api.coinmarketcap.com/v1/global-metrics/quotes/latest"); //Define the paramaters needed for this API call var queryString = HttpUtility.ParseQueryString(string.Empty); queryString["convert"] = selectedFiatCurrency; URL.Query = queryString.ToString(); //Create a header that will be sent with the API call URL var client = new WebClient(); client.Headers.Add("X-CMC_PRO_API_KEY", API_KEY); client.Headers.Add("Accepts", "application/json"); var jsonResult = client.DownloadString(URL.ToString()); GeneralCryptoDataClass result = new GeneralCryptoDataClass(); var allData = JObject.Parse(jsonResult); var data = allData["data"]; if (data != null) { result.activeCryptocurrencies = data["active_cryptocurrencies"].ToString(); result.activeExchanges = data["active_exchanges"].ToString(); result.btcDominance = Math.Round((Double)data["btc_dominance"], 2).ToString(); var quote = data["quote"]; var innerQuoute = quote[selectedFiatCurrency]; result.totalMarketCap = Math.Round((Double)innerQuoute["total_market_cap"], 2).ToString(); result.totalVolume24h = Math.Round((Double)innerQuoute["total_volume_24h"], 2).ToString(); } return(result); }