public override decimal ObliczKoszt(double sec, MiejsceParkingowe mp, Osoba o) { Decimal baseCost = 1; int hour = (int)Math.Ceiling(((sec - 180) / 3600)); if (hour < 1) { hour = 1; } hour--; baseCost = baseCost + (hour * 1.5m); if (mp.DlaNiepelnosprawnych) { baseCost = baseCost * 0.2m; } if (mp.RodzajMiejsca == RodzajMiejsca.Duze) { baseCost = Decimal.Multiply(baseCost, 1.2m); } if (mp.RodzajMiejsca == RodzajMiejsca.Male) { baseCost = Decimal.Multiply(baseCost, 0.7m); } return(baseCost); }
private void Zwolnij_Click(object sender, RoutedEventArgs e) { MiejsceParkingowe mp = (MiejsceParkingowe)MiejsceParkingoweLB.SelectedItem; if (mp == null) { MessageBox.Show("Nie wybrano miejsca", "", MessageBoxButton.OK, MessageBoxImage.Error); } else if (!mp.Zajete) { MessageBox.Show("Miejsce jest wolne", "", MessageBoxButton.OK, MessageBoxImage.Error); } else { try { Pojazd pojazd = mp.ObecnyPojazd; var wlasciciel = osobaRepo.List.First(x => x.Pojazdy.Contains(pojazd)); var czas = mp.OpuscMiejsce(); var doZaplaty = wlasciciel.Cennik.ObliczKoszt(czas, mp, wlasciciel); this.MiejsceParkingoweLB.ItemsSource = parking.ListRepo; HistoriaGrid.ItemsSource = null; HistoriaGrid.ItemsSource = mp.Historia.ZapisHistorii; MessageBox.Show($"Do zapłaty: {doZaplaty} PLN", "", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void Zajmij_Click(object sender, RoutedEventArgs e) { MiejsceParkingowe mp = (MiejsceParkingowe)MiejsceParkingoweLB.SelectedItem; if (this.pojazd == null) { MessageBox.Show("Nie wybrano pojazdu", "", MessageBoxButton.OK, MessageBoxImage.Error); } else if (mp == null) { MessageBox.Show("Nie wybrano miejsca", "", MessageBoxButton.OK, MessageBoxImage.Error); } else { try { mp.ZajmijMiejsce(pojazd, osobaRepo.List.First(x => x.Pojazdy.Contains(pojazd))); this.MiejsceParkingoweLB.ItemsSource = parking.ListRepo; MessageBox.Show("Sukces", "", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void PopulateDB() { MiejsceParkingowe mp; for (int i = 0; i < 12; i++) { mp = new MiejsceParkingowe(RodzajMiejsca.Zwykle, false); parking.Repo.Add(mp.Id, mp); } mp = new MiejsceParkingowe(RodzajMiejsca.Zwykle, true); parking.Repo.Add(mp.Id, mp); mp = new MiejsceParkingowe(RodzajMiejsca.Male, false); parking.Repo.Add(mp.Id, mp); mp = new MiejsceParkingowe(RodzajMiejsca.Duze, false); parking.Repo.Add(mp.Id, mp); Osoba osoba; Pojazd testPojazd; osoba = new Osoba("Jan", "Kowalski", "45121478644", "*****@*****.**", "123123123"); testPojazd = new Samochod("12341", "Ford", "Czarny"); osoba.Pojazdy.Add(testPojazd); testPojazd = new Jednoslad("12342", "Yamaha", "Czerwony"); osoba.Pojazdy.Add(testPojazd); testPojazd = new DuzySamochod("12343", "Mack", "Czarny"); osoba.Pojazdy.Add(testPojazd); osobaRepo.Repo.Add(osoba.Id, osoba); osoba = new Osoba("Anna", "Nowak", "64032377989", "*****@*****.**", "123123124"); osoba.Cennik = new AbonamentCennik(); testPojazd = new Samochod("12345", "Ford", "Czarny"); osoba.Pojazdy.Add(testPojazd); testPojazd = new Jednoslad("12346", "Yamaha", "Czerwony"); osoba.Pojazdy.Add(testPojazd); testPojazd = new DuzySamochod("12347", "Mack", "Czarny"); osoba.Pojazdy.Add(testPojazd); osobaRepo.Repo.Add(osoba.Id, osoba); osoba = new Osoba("Jarosław", "Gęsiowski", "93092197758", "*****@*****.**", "123123125", true); testPojazd = new Samochod("12345", "Ford", "Czarny"); osoba.Pojazdy.Add(testPojazd); testPojazd = new Jednoslad("12346", "Yamaha", "Czerwony"); osoba.Pojazdy.Add(testPojazd); testPojazd = new DuzySamochod("12347", "Mack", "Czarny"); osoba.Pojazdy.Add(testPojazd); osobaRepo.Repo.Add(osoba.Id, osoba); }
public override decimal ObliczKoszt(double sec, MiejsceParkingowe mp, Osoba o) { return(0); }
public override decimal ObliczKoszt(DateTime?dataRozpoczecia, DateTime?dataZakonczenia, MiejsceParkingowe mp, Osoba o) { return(0); }
public override decimal ObliczKoszt(DateTime?dataRozpoczecia, DateTime?dataZakonczenia, MiejsceParkingowe mp, Osoba o) { double sec = (dataZakonczenia.Value - dataRozpoczecia.Value).TotalSeconds; return(ObliczKoszt(sec, mp, o)); }
public virtual decimal ObliczKoszt(double sec, MiejsceParkingowe mp, Osoba o) { return(0); }
private void MiejsceParkingoweLB_SelectionChanged(object sender, SelectionChangedEventArgs e) { MiejsceParkingowe mp = (MiejsceParkingowe)MiejsceParkingoweLB.SelectedItem; HistoriaGrid.ItemsSource = mp.Historia.ZapisHistorii; }