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); }
public bool Equals(NbRates other) { if (other == null) { return(false); } return(Usd.Equals(other.Usd) && Eur.Equals(other.Eur) && Rub.Equals(other.Rub)); }