public static async Task <NbRates> GetNbDayAsync(DateTime date)
        {
            string uri  = "https://www.nbrb.by/API/ExRates/Rates?onDate=" + $"{date:yyyy-M-d}" + "&Periodicity=0";
            var    json = await((HttpWebRequest)WebRequest.Create(uri))
                          .GetDataAsync();

            if (string.IsNullOrEmpty(json))
            {
                return(null);
            }

            var nbList = (List <NbRbSiteRate>)JsonConvert.DeserializeObject(json, typeof(List <NbRbSiteRate>));

            if (nbList == null || nbList.Count == 0)
            {
                return(null);
            }
            var result = new NbRates()
            {
                Date = date
            };
            var usdRate = nbList.First(c => c.Cur_Abbreviation == "USD");

            result.Usd = usdRate.Cur_OfficialRate;
            var euroRate = nbList.First(c => c.Cur_Abbreviation == "EUR");

            result.Eur = euroRate.Cur_OfficialRate;
            var rubRate = nbList.First(c => c.Cur_Abbreviation == "RUB");

            result.Rub = rubRate.Cur_OfficialRate;
            return(result);
        }
Exemple #2
0
 public bool Equals(NbRates other)
 {
     if (other == null)
     {
         return(false);
     }
     return(Usd.Equals(other.Usd) && Eur.Equals(other.Eur) && Rub.Equals(other.Rub));
 }