Exemplo n.º 1
0
        static async Task TestCoinByIdAsync()
        {
            Console.WriteLine("Testing Coin by Id:");

            Console.WriteLine("enter coin id:");

            var id = Console.ReadLine();

            Console.WriteLine($"fetching extended CoinInfo for id '{id}' ...");

            var extCoinInfo = await _client.GetCoinByIdAsync(id);

            if (extCoinInfo.Error == null)
            {
                Console.WriteLine($"Extended CoinInfo for {extCoinInfo.Value.Name}:");
                Console.WriteLine($"{extCoinInfo.Value.Description}");
                Console.WriteLine($"WhitePaper-Link: {extCoinInfo.Value.Whitepaper.Link}");
                Console.WriteLine("Explorers:");
                extCoinInfo.Value.Links.Explorer.ForEach(e => Console.WriteLine(e.OriginalString));
                Console.WriteLine("Website/Source Links:");
                extCoinInfo.Value.Links.Website?.ForEach(e => Console.WriteLine(e.OriginalString));
                extCoinInfo.Value.Links.SourceCode?.ForEach(e => Console.WriteLine(e.OriginalString));
                Console.WriteLine("Social Media Links:");
                extCoinInfo.Value.Links.Facebook?.ForEach(e => Console.WriteLine(e?.OriginalString));
                extCoinInfo.Value.Links.Medium?.ForEach(e => Console.WriteLine(e?.OriginalString));
                extCoinInfo.Value.Links.Reddit?.ForEach(e => Console.WriteLine(e?.OriginalString));
                extCoinInfo.Value.Links.Youtube?.ForEach(e => Console.WriteLine(e?.OriginalString));
            }
            else
            {
                Console.WriteLine($"{id} not found, please enter a valid id next time");
            }

            Console.WriteLine("Tweets:");
            var timeline = await _client.GetTwitterTimelineForCoinAsync(id);

            timeline.Value.ForEach(t => Console.WriteLine($"{t.Date}: {t.Status})"));

            Console.WriteLine("Events:");
            var events = await _client.GetEventsForCoinAsync(id);

            events.Value.ForEach(e => Console.WriteLine($"{e.Date} - {e.DateTo} : {e.Name}"));

            Console.WriteLine("Exchanges:");
            var exchanges = await _client.GetExchangesForCoinAsync(id);

            exchanges.Value.ForEach(e => Console.WriteLine($"{e.Name} - {e.AdjustedVolume24HShare}%"));

            Console.WriteLine("Markets:");
            var markets = await _client.GetMarketsForCoinAsync(id, new[] { "USD", "BTC" });

            markets.Value.ForEach(m => Console.WriteLine($"{m.BaseCurrencyName} on {m.ExchangeName}"));

            Console.WriteLine("OHLC Latest:");
            var ohlcvLatest = await _client.GetLatestOhlcForCoinAsync(id);

            ohlcvLatest.Value.ForEach(v => Console.WriteLine($"{id}: Open: {v.Open}({v.TimeOpen}), Close: {v.Close}({v.TimeClose}), High: {v.High}, Low: {v.Low}"));


            Console.WriteLine("OHLC Historical:");

            var firstOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            var end          = DateTime.Now.Subtract(TimeSpan.FromDays(1));

            var ohlcvHistorical = await _client.GetHistoricalOhlcForCoinAsync(id, new DateTimeOffset(firstOfMonth), end, 200);

            ohlcvHistorical.Value.ForEach(v => Console.WriteLine($"{id}: Open: {v.Open}({v.TimeOpen}), Close: {v.Close}({v.TimeClose}), High: {v.High}, Low: {v.Low}"));

            Console.ReadLine();
            Console.WriteLine("Bye!");
        }