示例#1
0
 public MainPageViewModel()
 {
     IsNotLoggedIn   = true;
     Title           = "Crypto Asset Monitor";
     RefreshCommand  = new Command(async() => await Refresh(), () => IsNotBusy);
     LoginCommand    = new Command(async() => await Login());
     this.httpClient = new HttpClient();
     this.nomicsConn = new NomicsConnection(this.httpClient);
     this.cmcConn    = new CMCConnection(this.httpClient);
 }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Enter password1:");

            var password1 = Console.ReadLine();

            Console.WriteLine("Enter password2:");

            var password2 = Console.ReadLine();

            var keyStore = new MongoAtlasStore();

            keyStore.LogIn(password1.Trim(), password2.Trim());
            keyStore.GetApiKeys();

            var cmcConn    = new CMCConnection(new System.Net.Http.HttpClient());
            var quotesTask = CryptoCurrencysRequest.GetQuotes(cmcConn, keyStore.CoinMarketCapApiKey, "BTC,ETH,EOS,USDT,BNB,ADA,MKR,USDC,TUSD,REP,PAX,DAI");

            quotesTask.Wait();

            var     quote       = quotesTask.Result;
            var     cryptoQuote = CryptoCurrencies.FromJson(quote);
            decimal ethUsd      = 0.00M;

            if (cryptoQuote.Data.ContainsKey("ETH"))
            {
                Datum data = null;

                if (cryptoQuote.Data.TryGetValue("ETH", out data))
                {
                    ethUsd = (decimal)data.Quote.Usd.Price;
                }
            }

            decimal btcUsd = 0.00M;

            if (cryptoQuote.Data.ContainsKey("BTC"))
            {
                Datum data = null;

                if (cryptoQuote.Data.TryGetValue("BTC", out data))
                {
                    btcUsd = (decimal)data.Quote.Usd.Price;
                }
            }

            StringBuilder quotes = new StringBuilder();

            foreach (var data in cryptoQuote.Data)
            {
                quotes.Append($"{data.Key} = ${data.Value.Quote.Usd.Price}\n");
            }

            Console.WriteLine(quotes);

            #region BTC

            //var btcAddrStr = File.ReadAllText(@"c:\Apps\Test\btc.txt").Trim();
            //var btcAddresses = btcAddrStr.Split('|');
            //IBlockchain btcBC = new BitcoinBlockchain();

            //foreach (var btcAddress in btcAddresses)
            //{
            //    if (!string.IsNullOrEmpty(btcAddress.Trim()))
            //    {
            //        var addr = btcAddress.Split(',');
            //        var balTask = btcBC.GetBalance(addr[0]);

            //        balTask.Wait();

            //        Console.WriteLine($"{addr[1]} Balance = BTC:{balTask.Result}, ${balTask.Result * btcUsd}\n");
            //    }
            //}

            #endregion

            #region ETH
            //var addressStr = File.ReadAllText(@"c:\Apps\Test\eth.txt").Trim();
            //var addresses = addressStr.Split('|');
            //IBlockchain ethBC = new EtheriumBlockchain();

            //foreach (var address in addresses)
            //{
            //    if (!string.IsNullOrEmpty(address.Trim()))
            //    {
            //        var addr = address.Split(',');
            //        var balTask = ethBC.GetBalance(addr[0]);

            //        balTask.Wait();

            //        Console.WriteLine($"{addr[1]} Balance = ETH:{balTask.Result}, ${balTask.Result * ethUsd}\n");
            //    }
            //}
            #endregion
            Console.ReadLine();
        }