public void UpdateValues(NewExchangeRatesEventArgs e)
        {
            _exchangeRatesProvider.Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Btc).LastPrice =
                e.CurrenciesList.Single(c => c.CurrencyName == CurrencyNameEnum.Btc).LastPrice;


            _exchangeRatesProvider.Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Bcc).LastPrice =
                e.CurrenciesList.Single(c => c.CurrencyName == CurrencyNameEnum.Bcc).LastPrice;


            _exchangeRatesProvider.Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Eth).LastPrice =
                e.CurrenciesList.Single(c => c.CurrencyName == CurrencyNameEnum.Eth).LastPrice;

            _exchangeRatesProvider.Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Ltc).LastPrice =
                e.CurrenciesList.Single(c => c.CurrencyName == CurrencyNameEnum.Ltc).LastPrice;
        }
Example #2
0
        public void GenerateExchangeBehaviour(object sender, ElapsedEventArgs elapsedEventArgs)
        {
            foreach (var cryptocurrency in Currencies)
            {
                cryptocurrency.LastPrice = GenerateRates(cryptocurrency.LastPrice, cryptocurrency.MinValue,
                                                         cryptocurrency.MaxValue);
            }

            var ratesGenerated = new NewExchangeRatesEventArgs
            {
                CurrenciesList = Currencies
            };

            if (NewExchangeRatesEvent != null)
            {
                NewExchangeRatesEvent.Invoke(ratesGenerated);
            }
        }
        private void GetRates()
        {
            var httpClient = new HttpClient();

            var btcResponse = httpClient.GetAsync(_currencyExchangeConfig.BitBayBtcPlnAddress).Result.Content.ReadAsStringAsync().Result;
            var bccResponse = httpClient.GetAsync(_currencyExchangeConfig.BitBayBccPlnAddress).Result.Content.ReadAsStringAsync().Result;
            var ethResponse = httpClient.GetAsync(_currencyExchangeConfig.BitBayEthPlnAddress).Result.Content.ReadAsStringAsync().Result;
            var ltcResponse = httpClient.GetAsync(_currencyExchangeConfig.BitBayLtcPlnAddress).Result.Content.ReadAsStringAsync().Result;

            Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Btc).LastPrice = JsonConvert.DeserializeObject <DownloadedData>(btcResponse).Last;
            Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Bcc).LastPrice = JsonConvert.DeserializeObject <DownloadedData>(bccResponse).Last;
            Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Eth).LastPrice = JsonConvert.DeserializeObject <DownloadedData>(ethResponse).Last;
            Currencies.Single(c => c.CurrencyName == CurrencyNameEnum.Ltc).LastPrice = JsonConvert.DeserializeObject <DownloadedData>(ltcResponse).Last;

            var ratesDownloaded = new NewExchangeRatesEventArgs
            {
                CurrenciesList = Currencies
            };

            if (NewExchangeRatesEvent != null)
            {
                NewExchangeRatesEvent.Invoke(ratesDownloaded);
            }
        }