Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //var client = new MongoClient("mongodb+srv://studient:[email protected]/sample_mflix?retryWrites=true&w=majority");
            //var db = client.GetDatabase("sample_mflix");
            //var collection = db.GetCollection<BsonDocument>("movies");
            //var result = collection.Find("{title: 'The Princess Bride'}").FirstOrDefault();

            //Console.Write(result);

            //var docs = collection.Find(new BsonDocument())
            //               .SortByDescending(m => m["runtime"])
            //               .Limit(10)
            //               .ToList();

            //foreach (var d in docs)
            //{
            //    Console.WriteLine(d.GetValue("title"));
            //}

            Console.WriteLine("Password 1:");

            var password1 = Console.ReadLine();

            Console.WriteLine("Password 2:");

            var password2 = Console.ReadLine();

            if (string.IsNullOrEmpty(password1) || string.IsNullOrEmpty(password2))
            {
                Console.WriteLine("Invalid password.");
            }
            else
            {
                var store = new MongoAtlasStore();

                if (store.LogIn(password1, password2))
                {
                    bool addNewKey = true;

                    while (addNewKey)
                    {
                        Console.WriteLine("Key name:");

                        var name = Console.ReadLine();

                        Console.WriteLine("Key value:");

                        var key = Console.ReadLine();

                        if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(key))
                        {
                            store.StoreApiKey(name, key);
                            Console.WriteLine("Key inserted sucessfully. Add another key(y/n)?");
                        }
                        else
                        {
                            Console.WriteLine("Invalid key. Add another key(y/n)?");
                        }

                        addNewKey = Console.ReadLine().ToLower() == "y";
                    }
                }
                else
                {
                    Console.WriteLine("Login failed.");
                }
            }
        }
Exemplo n.º 2
0
        private async Task Refresh()
        {
            IsBusy = true;

            if (string.IsNullOrEmpty(keyStore.CoinMarketCapApiKey) || string.IsNullOrEmpty(keyStore.NomicsApiKey))
            {
                if (string.IsNullOrEmpty(Password) || string.IsNullOrEmpty(Password2))
                {
                    RawData = "Password not set.";
                }
                else
                {
                    keyStore = new MongoAtlasStore();
                    keyStore.LogIn(Password, Password2);
                    keyStore.GetApiKeys();
                }
            }

            string cmcMarketCap = null;

            if (!string.IsNullOrEmpty(keyStore.CoinMarketCapApiKey))
            {
                cmcMarketCap = await GlobalMetricsRequest.GetGlobalMetrics(this.cmcConn, keyStore.CoinMarketCapApiKey).ConfigureAwait(false);
            }

            string nomicsMarketCap = null;
            string nomicsGlobalVol = null;

            if (!string.IsNullOrEmpty(keyStore.NomicsApiKey))
            {
                nomicsMarketCap = await MarketHistoryRequest.GetMarketCapHistory(this.nomicsConn, keyStore.NomicsApiKey).ConfigureAwait(false);

                nomicsGlobalVol = await MarketHistoryRequest.GetGlobalVolumeHistory(this.nomicsConn, keyStore.NomicsApiKey).ConfigureAwait(false);
            }

            if (!string.IsNullOrEmpty(cmcMarketCap))
            {
                if (cmcMarketCap == "Unauthorized")
                {
                    RawData = cmcMarketCap;
                }
                else
                {
                    SetPropertiesFromCMCGlobalMetrics(GlobalMetrics.FromJson(cmcMarketCap));
                }
            }

            if (!string.IsNullOrEmpty(nomicsMarketCap))
            {
                if (nomicsMarketCap == "Unauthorized")
                {
                    RawData = nomicsMarketCap;
                }
                else
                {
                    SetPropertiesFromNomicsMarketCapHistory(MarketCapHistory.FromJson(nomicsMarketCap));
                }
            }

            if (!string.IsNullOrEmpty(nomicsGlobalVol))
            {
                if (nomicsGlobalVol == "Unauthorized")
                {
                    RawData = nomicsGlobalVol;
                }
                else
                {
                    SetPropertiesFromNomicsMarketVolHistory(GlobalVolHistory.FromJson(nomicsGlobalVol));
                }
            }

            IsBusy = false;
        }
Exemplo n.º 3
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();
        }
Exemplo n.º 4
0
 public BlockchainAlertService(HttpClient httpClient, MongoAtlasStore keyStore)
 {
     _httpClient = httpClient;
     _keyStore   = keyStore;
 }