Exemplo n.º 1
0
        public async Task <GenericTickers> GetTickers(int limit)
        {
            GenericTickers tickers = new GenericTickers();

            try
            {
                string uri = $"{BaseUri}/ticker/?limit={limit}";

                _httpWebRequest = WebRequest.Create(uri) as HttpWebRequest;

                if (_httpWebRequest != null)
                {
                    _httpWebRequest.Method = "GET";
                    _httpWebRequest.Accept = "application/json";

                    using (_httpWebResponse = await _httpWebRequest.GetResponseAsync() as HttpWebResponse)
                    {
                        if (_httpWebResponse != null)
                        {
                            _streamReader = new StreamReader(_httpWebResponse.GetResponseStream() ?? throw new InvalidOperationException());
                        }

                        JArray resultsJson = JsonConvert.DeserializeObject <JArray>(_streamReader.ReadToEnd());
                        foreach (JObject ticker in resultsJson.Children <JObject>())
                        {
                            tickers.Tickers.Add(new GenericTicker(
                                                    ticker["id"].ToString(),
                                                    ticker["name"].ToString(),
                                                    ticker["symbol"].ToString(),
                                                    ticker["rank"].ToString(),
                                                    ticker["price_usd"].ToString(),
                                                    ticker["price_btc"].ToString(),
                                                    ticker["24h_volume_usd"].ToString(),
                                                    ticker["market_cap_usd"].ToString(),
                                                    ticker["available_supply"].ToString(),
                                                    ticker["total_supply"].ToString(),
                                                    ticker["max_supply"].ToString(),
                                                    ticker["percent_change_1h"].ToString(),
                                                    ticker["percent_change_24h"].ToString(),
                                                    ticker["percent_change_7d"].ToString(),
                                                    ticker["last_updated"].ToString())
                                                );
                        }
                    }
                }
            }
            catch (Exception)
            {
                // ignored
            }

            return(tickers);
        }
Exemplo n.º 2
0
        public async Task <StockExchangePairTable> GetCryptoMarketCapTable(GenericTickers tickers, List <string> selectedPairs)
        {
            StockExchangePairTable stockExchangePairTable = new StockExchangePairTable();

            await Task.Run(() =>
            {
                //stockExchangePairTable.HeaderNames.Add("Id");
                stockExchangePairTable.HeaderNames.Add("Rank");
                stockExchangePairTable.HeaderNames.Add("Name");
                stockExchangePairTable.HeaderNames.Add("Symbol");
                stockExchangePairTable.HeaderNames.Add("Price USD");
                stockExchangePairTable.HeaderNames.Add("Price BTC");
                stockExchangePairTable.HeaderNames.Add("Volume 24 Hours USD");
                stockExchangePairTable.HeaderNames.Add("Market Cap USD");
                stockExchangePairTable.HeaderNames.Add("Available Supply");
                stockExchangePairTable.HeaderNames.Add("Total Supply");
                stockExchangePairTable.HeaderNames.Add("Maximum Supply");
                stockExchangePairTable.HeaderNames.Add("Percent Change 1 Hour");
                stockExchangePairTable.HeaderNames.Add("Percent Change 1 Day");
                stockExchangePairTable.HeaderNames.Add("Percent Change 1 Week");
                stockExchangePairTable.HeaderNames.Add("Last Updated");

                if (selectedPairs.Count > 0)
                {
                    foreach (GenericTicker ticker in tickers.Tickers)
                    {
                        foreach (string selectedPair in selectedPairs)
                        {
                            if (ticker.Symbol.Equals(selectedPair.Split('/')[0]) || ticker.Symbol.Equals(selectedPair.Split('/')[1]))
                            {
                                StockExchangeDataRow stockExchangeDataRow = new StockExchangeDataRow();
                                //stockExchangeDataRow.DataRows.Add(ticker.Id);
                                stockExchangeDataRow.DataRows.Add(ticker.Rank);
                                stockExchangeDataRow.DataRows.Add(ticker.Name);
                                stockExchangeDataRow.DataRows.Add(ticker.Symbol.ToUpper());
                                stockExchangeDataRow.DataRows.Add(ticker.PriceUsd);
                                stockExchangeDataRow.DataRows.Add(ticker.PriceBtc);
                                stockExchangeDataRow.DataRows.Add(ticker.Volume1DayUsd);
                                stockExchangeDataRow.DataRows.Add(ticker.MarketCapUsd);
                                stockExchangeDataRow.DataRows.Add(ticker.AvailableSupply);
                                stockExchangeDataRow.DataRows.Add(ticker.TotalSupply);
                                stockExchangeDataRow.DataRows.Add(ticker.MaximumSupply);
                                stockExchangeDataRow.DataRows.Add(ticker.PercentChange1Hour);
                                stockExchangeDataRow.DataRows.Add(ticker.PercentChange1Day);
                                stockExchangeDataRow.DataRows.Add(ticker.PercentChange1Week);
                                stockExchangeDataRow.DataRows.Add(ticker.LastUpdated);
                                stockExchangePairTable.StockExchangeDataRows.Add(stockExchangeDataRow);
                                break;
                            }
                        }
                    }
                }
                else
                {
                    foreach (GenericTicker ticker in tickers.Tickers)
                    {
                        StockExchangeDataRow stockExchangeDataRow = new StockExchangeDataRow();
                        //stockExchangeDataRow.DataRows.Add(ticker.Id);
                        stockExchangeDataRow.DataRows.Add(ticker.Rank);
                        stockExchangeDataRow.DataRows.Add(ticker.Name);
                        stockExchangeDataRow.DataRows.Add(ticker.Symbol.ToUpper());
                        stockExchangeDataRow.DataRows.Add(ticker.PriceUsd);
                        stockExchangeDataRow.DataRows.Add(ticker.PriceBtc);
                        stockExchangeDataRow.DataRows.Add(ticker.Volume1DayUsd);
                        stockExchangeDataRow.DataRows.Add(ticker.MarketCapUsd);
                        stockExchangeDataRow.DataRows.Add(ticker.AvailableSupply);
                        stockExchangeDataRow.DataRows.Add(ticker.TotalSupply);
                        stockExchangeDataRow.DataRows.Add(ticker.MaximumSupply);
                        stockExchangeDataRow.DataRows.Add(ticker.PercentChange1Hour);
                        stockExchangeDataRow.DataRows.Add(ticker.PercentChange1Day);
                        stockExchangeDataRow.DataRows.Add(ticker.PercentChange1Week);
                        stockExchangeDataRow.DataRows.Add(ticker.LastUpdated);
                        stockExchangePairTable.StockExchangeDataRows.Add(stockExchangeDataRow);
                    }
                }
            });

            return(stockExchangePairTable);
        }