Skip to content

kpiechota2003/lab2

Repository files navigation

Program pozwala na pobranie danych dotyczących walut z API, gromadzi je w bazie danych oraz pozwala je wyświetlać i filtrować w interfejsie grafiznym.
Kursy walut są wyświetlane w odniesieniu do dolara amerykańskiego.
Program realizuje zadanie na ocenę 4.0.

Opis interfejsu: 
Obsługa programu jest możliwa w terminalu za pomocą wybrania odpowiednich cyfr.
1 - szukanie po nazwie waluty
2 - wybieranie daty od której będą wyświetlane dane
3 - wyświetlenie najnowszych danych dla wszystkich danych
4 - wyświetlenie listy państw wraz z ich walutą i najnowszym kursem
6 - ładowanie nowych danych z API
7 - czyszczenie bazy danych
0 - wyjście z programu
Program działa w pętli - po każdym wyświetleniu użytkownik jest pytany o kolejną akcję

Opis klas: 
API - klasa do obsługi API, zawiera funkcje GetData(), która pozawla na pobranie danych z API oraz ich deserializację, zwraca obiekt typu ExchangeRates.
	Funkcja SaveExchangeRatesToDatabase() pozwala na konwersję danych na obiekty typu Currency oraz CurrencyValue i zapis do bazydanych informacji, których jeszcze tam nie ma.

ExchangeRates - klasa przechowuje dane z API po deserializacji, zawiera zmienne:
        public string Disclaimer - informacja z api dotycząca wykożystania danych
        public string License - informacja dotycząca licencji
        public long Timestamp - data pochodzenia dnych w czasie unixowym
        public string Base - waluta odniesienia do kursu, w tym przypadku USD
        public Dictionary<string, decimal> Rates - słownik zawierający ceny walut

Currency - klasa przechowyjąca ID oraz nazwę waluty

CurrencyValue - klasa przechowująca cenę waluty (decimal ValueUSD) o ID (int CurrencyId), czas zarejestrowaia ceny (DateTime Timestamp)

Country - przechowuje dane na temat państw, zawiera ID, nazwę kaństwa i ID waluty jaką posiada

CurrencyContext - zawiera konteks do tworzenia bazy danych

Baza danych:
Zawiera 3 tabele:
        public DbSet<Currency> Currencies - zawiera obiekty typu Currency
        public DbSet<CurrencyValue> CurrencyValues - zawiera obiekty typu CurrencyValue
        public DbSet<Country> Countries - zawiera obiekty typu Cuontry 

Relacje:
Currency -> wiele obiektów CurrencyValue
Currency -> wiele obiektów Country


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages