/// <summary>
        /// Gets exchange rates of Privatbank.
        /// Reference: <https://api.privatbank.ua/#p24/exchange>
        /// </summary>
        /// <returns></returns>
        public async Task <IReadOnlyCollection <PrivatbankExchangeRate> > GetBankExchangeRatesAsync()
        {
            List <PrivatbankExchangeRate> result = new List <PrivatbankExchangeRate>();

            foreach (string type in currencyTypes)
            {
                HttpResponseMessage response = await _privatbankClient.GetPublicDataAsync($"pubinfo?json&exchange&coursid={type}");

                string json = await response.Content.ReadAsStringAsync();

                var ratesResponse = JsonConvert.DeserializeObject <IEnumerable <ExchangeRateResponse> >(json);

                IEnumerable <PrivatbankExchangeRate> rates = ratesResponse
                                                             .Select(r => new PrivatbankExchangeRate(
                                                                         ISO4217CurrencyCompatibility.GetActive(r.Ccy),
                                                                         ISO4217CurrencyCompatibility.GetActive(r.Base_ccy),
                                                                         r.Buy,
                                                                         r.Sale));

                result.AddRange(rates);
            }

            return(result);
        }