private static KursyWalutyNBP parsujPozycjeTabeliKursowWalutNBP(XElement elementPozycja, IFormatProvider formatProvider) { KursyWalutyNBP pozycja = new KursyWalutyNBP(); pozycja.NazwaWaluty = elementPozycja.Element("nazwa_waluty").Value; pozycja.Przelicznik = double.Parse(elementPozycja.Element("przelicznik").Value, formatProvider); pozycja.KodWaluty = elementPozycja.Element("kod_waluty").Value; pozycja.KursyKupna = decimal.Parse(elementPozycja.Element("kurs_kupna").Value, formatProvider); pozycja.KursSprzedazy = decimal.Parse(elementPozycja.Element("kurs_sprzedazy").Value, formatProvider); return(pozycja); }
public static TabelaKursowWalutNBP PobierzAktualnaTabeleKursowWalutNBP() { IFormatProvider formatProvider = new CultureInfo("pl"); XDocument xml = XDocument.Load("http://www.nbp.pl/kursy/xml/LastC.xml"); TabelaKursowWalutNBP tabela = new TabelaKursowWalutNBP(); tabela.NumerTabeli = xml.Root.Element("numer_tabeli").Value; tabela.DataNotowania = DateTime.Parse(xml.Root.Element("data_notowania").Value, formatProvider); tabela.DataPublikacji = DateTime.Parse(xml.Root.Element("data_publikacji").Value, formatProvider); tabela.Pozycja = new Dictionary <string, KursyWalutyNBP>(); foreach (XElement elementPozycja in xml.Root.Elements("pozycja")) { KursyWalutyNBP pozycja = parsujPozycjeTabeliKursowWalutNBP(elementPozycja, formatProvider); tabela.Pozycja.Add(pozycja.KodWaluty, pozycja); } return(tabela); }