Ejemplo n.º 1
0
        private static async Task <TradingRate> ParseResponseAsync(string response)
        {
            TradingRate rate = new TradingRate();

            using (JsonTextReader jtr = new JsonTextReader(new StringReader(response)))
            {
                while (await jtr.ReadAsync().ConfigureAwait(false))
                {
                    if (jtr.Value != null)
                    {
                        if (jtr.Value.ToString() == "pair")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            rate.Pair = jtr.Value.ToString();
                        }
                        else if (jtr.Value.ToString() == "rate")
                        {
                            await jtr.ReadAsync().ConfigureAwait(false);

                            rate.Rate = Convert.ToDouble(jtr.Value.ToString());
                        }
                        else
                        {
                            continue;
                        }
                    }
                }
            }
            return(rate);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Finds exchange rates for all valid coin pairs.
        /// </summary>
        /// <returns>List of exchange rates.</returns>
        internal static async Task <List <TradingRate> > GetAllRatesAsync()
        {
            List <TradingRate> RateList = new List <TradingRate>();
            List <TradingPair> PairList = await TradingPair.GetAllPairsAsync().ConfigureAwait(false);

            foreach (TradingPair tp in PairList)
            {
                TradingRate NewRate = await GetRateAsync(tp.Pair).ConfigureAwait(false);

                RateList.Add(NewRate);
            }
            return(RateList);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Finds exchange rate for specified coin pair.
 /// </summary>
 /// <param name="Ticker1">Ticker symbol for coin to exchange.</param>
 /// <param name="Ticker2">Ticker symbol for resulting coin.</param>
 /// <returns>Exchange rate.</returns>
 public static async Task <TradingRate> GetExchangeRateAsync(string Ticker1, string Ticker2) =>
 await TradingRate.GetRateAsync(Ticker1, Ticker2).ConfigureAwait(false);
Ejemplo n.º 4
0
 /// <summary>
 /// Finds exchange rates for all valid coin pairs.
 /// </summary>
 /// <returns>List of exchange rates.</returns>
 public static async Task <List <TradingRate> > GetAllExchangeRatesAsync() =>
 await TradingRate.GetAllRatesAsync().ConfigureAwait(false);
Ejemplo n.º 5
0
 /// <summary>
 /// Finds exchange rate for specified coin pair.
 /// </summary>
 /// <param name="Pair">Coin pair to find rate for.</param>
 /// <returns>Exchange rate.</returns>
 public static async Task <TradingRate> GetExchangeRateAsync(string Pair) =>
 await TradingRate.GetRateAsync(Pair).ConfigureAwait(false);