public void Websocket()
        {
            using (var ws = new WebSocket(CommonConstants.CryptoCompareWebsocketUri + CommonConstants.CryptoCompareApiKey)
                   )
            {
                ws.OnMessage += (sender, e) =>
                {
                    CryptoCompareCoin cryptoCompareCoin = JsonConvert.DeserializeObject <CryptoCompareCoin>(e.Data);
                    if (!string.IsNullOrEmpty(cryptoCompareCoin.FROMSYMBOL))
                    {
                        CommonCoin commonCoin = new CommonCoin()
                        {
                            Symbol         = cryptoCompareCoin.FROMSYMBOL,
                            Price          = cryptoCompareCoin.PRICE,
                            HighPrice      = cryptoCompareCoin.HIGH24HOUR,
                            OpenPrice      = cryptoCompareCoin.OPEN24HOUR,
                            CurrencySymbol = cryptoCompareCoin.TOSYMBOL,
                            Timestamp      = cryptoCompareCoin.LASTUPDATE
                        };

                        _cloudFirestoreRepository.CreatOrUpdate(commonCoin, CommonConstants.CryptoCompareCollectionName);
                    }
                };

                ws.Connect();
                ws.Send(JsonConvert.SerializeObject(_commonConstants.CryptoCompareCoinRequestParams));

                Console.ReadKey(true);
            }
        }
Пример #2
0
 public void Websocket()
 {
     using (var ws = new WebSocket(CommonConstants.CoinCapUri)
            )
     {
         ws.OnMessage += (sender, e) =>
         {
             Dictionary <string, double> coinCapCoin = JsonConvert.DeserializeObject <Dictionary <string, double> >(e.Data);
             foreach (var valuePair in coinCapCoin)
             {
                 CommonCoin commonCoin = new CommonCoin()
                 {
                     Price          = valuePair.Value,
                     Symbol         = _commonConstants.ConvertSymbols(valuePair.Key),
                     CurrencySymbol = CommonConstants.DefaultCurrencySymbol
                 };
                 _cloudFirestoreRepository.CreatOrUpdate(commonCoin, CommonConstants.CoinCapCollectionName);
             }
         };
         ws.Connect();
         ws.Send(JsonConvert.SerializeObject(null));
         Console.ReadKey(true);
     }
 }