public void VoegLocatieToe(Locatie locatie) { if (Locaties.Contains(locatie)) { throw new ArgumentException("Locatie behoort reeds tot dit land"); } Locaties.Add(locatie); locatie.Land = this; }
public void LocatieVerwijderen(Locatie locatie) { if (!Locaties.Contains(locatie)) { return; } Locaties.Remove(locatie); RondeLocatie.Verwijderen(this, locatie); }
public void LocatieToevoegen(Locatie locatie) { if (Locaties.Contains(locatie)) { return; } Locaties.Add(locatie); RondeLocatie.Toevoegen(this, locatie); }
public NieuweReservatiePage() { InitializeComponent(); rm = new ReservatieManager(new UnitOfWork(new ReservatieContext())); comboBoxVoertuig.ItemsSource = rm.getVoertuigen(); comboBoxArrangement.ItemsSource = Arrangement.GetValues(typeof(Arrangement)); comboBoxOphaalLoc.ItemsSource = Locaties.GetValues(typeof(Locaties)); comboBoxAfzetLoc.ItemsSource = Locaties.GetValues(typeof(Locaties)); comboBoxOphaalLoc.SelectedIndex = 0; comboBoxAfzetLoc.SelectedIndex = 0; }
public Reservatie(int reservatieId, Klant klant, DateTime datum, Locaties ophaalLocatie, Locaties afzetLocatie, Voertuig gereserveerdeVoertuig, Arrangement arrangement, int aantalUren, decimal subtotaal, decimal aangerekendeKortingen, decimal totaalExclusiefBtw, decimal btwBedrag, decimal teBetalenBedrag) { ReservatieId = reservatieId; Klant = klant; Datum = datum; OphaalLocatie = ophaalLocatie; AfzetLocatie = afzetLocatie; GereserveerdeVoertuig = gereserveerdeVoertuig; Arrangement = arrangement; AantalUren = aantalUren; Subtotaal = subtotaal; AangerekendeKortingen = aangerekendeKortingen; TotaalExclusiefBtw = totaalExclusiefBtw; BtwBedrag = btwBedrag; TeBetalenBedrag = teBetalenBedrag; }
public Reservatie(/*int reservatieId, */ Klant K, DateTime datum, Locaties ophaalLocatie, Locaties afzetLocatie, Voertuig gereserveerdeVoertuig, Arrangement arrangement, int aantalUren, decimal subtotaal, decimal aangerekendeKortingen, decimal totaalExclusiefBtw, decimal btwBedrag, decimal teBetalenBedrag) { /*ReservatieId = reservatieId;*/ klant = K; Datum = datum; OphaalLocatie = ophaalLocatie; AfzetLocatie = afzetLocatie; GereserveerdeVoertuig = gereserveerdeVoertuig; Arrangement = arrangement; AantalUren = aantalUren; AutoBinnenGebracht = datum.AddHours(aantalUren); Subtotaal = subtotaal; AangerekendeKortingen = aangerekendeKortingen; TotaalExclusiefBtw = totaalExclusiefBtw; BtwBedrag = btwBedrag; TeBetalenBedrag = teBetalenBedrag; }
public Locatie GeefLocatie(string naamLocatie) { return(Locaties.First(l => l.Naam == naamLocatie)); }
public ICollection <Locatie> GeefLocatiesAlfabetisch() { return(Locaties.OrderBy(locatie => locatie.Naam).ToList()); }
public void CreateNewReservation(int reservatieID, Klant klant, DateTime datum, Locaties ophaalLocatie, Locaties afzetLocatie, Voertuig gereseveerdeVoortuig, Arrangement arrangement, int aantalUren) { decimal subtotaal = 0; decimal aangerekendeKortingen = 0; decimal totaalExclusiefBtw = 0; decimal btwBedrag = 0; decimal teBetalenBedrag = 0; //calculate subtotal price if (arrangement == Arrangement.NightLife) { subtotaal = gereseveerdeVoortuig.NightLife; } else if (arrangement == Arrangement.Wellness) { subtotaal = gereseveerdeVoortuig.Wellness; } else if (arrangement == Arrangement.Wedding) { subtotaal = gereseveerdeVoortuig.Wedding; } else { subtotaal = gereseveerdeVoortuig.EersteUur; subtotaal += Math.Round(((gereseveerdeVoortuig.EersteUur * aantalUren - 1) / 100) * 65); } //add discount to subtotal and btw aangerekendeKortingen = GetDiscount(klant.Type); totaalExclusiefBtw = ((subtotaal / 100) * aangerekendeKortingen) - subtotaal; btwBedrag = (totaalExclusiefBtw / 100) * 6; teBetalenBedrag = totaalExclusiefBtw + btwBedrag; Reservatie r = new Reservatie(reservatieID, klant, datum, ophaalLocatie, afzetLocatie, gereseveerdeVoortuig, arrangement, aantalUren, subtotaal, aangerekendeKortingen, totaalExclusiefBtw, btwBedrag, teBetalenBedrag); Reservaties.Add(r); }
public Reservatie CalculatePriceForPreview(Klant klant, DateTime datum, Locaties ophaalLocatie, Locaties afzetLocatie, Voertuig gereseveerdeVoortuig, Arrangement arrangement, int aantalUren) { decimal subtotaal = 0; decimal aangerekendeKortingen = 0; decimal totaalExclusiefBtw = 0; decimal btwBedrag = 0; decimal teBetalenBedrag = 0; //calculate subtotal price if (arrangement == Arrangement.NightLife) { subtotaal = gereseveerdeVoortuig.NightLife; if (aantalUren > 7) { int aantalOveruren = 7 - aantalUren; subtotaal += aantalOveruren * (gereseveerdeVoortuig.EersteUur * 1.4m); } } else if (arrangement == Arrangement.Wellness) { subtotaal = gereseveerdeVoortuig.Wellness; if (datum.Hour == 12 && aantalUren == 10)// 1 nachtuur mogelijk { subtotaal += gereseveerdeVoortuig.EersteUur * 1.4m; } } else if (arrangement == Arrangement.Wedding) { subtotaal = gereseveerdeVoortuig.Wedding; int einduur = datum.Hour + aantalUren; if (einduur >= 22 && aantalUren > 7) { int nachturen = einduur - 21; subtotaal += nachturen * (gereseveerdeVoortuig.EersteUur * 0.65m); } } else { subtotaal = gereseveerdeVoortuig.EersteUur; int aantalNachturen = 0; if (datum.Hour + aantalUren >= 22) { aantalNachturen = (datum.Hour + aantalUren) - 21; if (aantalNachturen > 9) { aantalNachturen = 9; } subtotaal += aantalNachturen * gereseveerdeVoortuig.EersteUur * 1.4m; } aantalNachturen += 1; subtotaal += Math.Round((gereseveerdeVoortuig.EersteUur * (aantalUren - aantalNachturen)) * 0.65m); } //add discount to subtotal and btw aangerekendeKortingen = GetDiscount(klant.Type, klant.Naam, datum); totaalExclusiefBtw = subtotaal - ((subtotaal / 100) * aangerekendeKortingen); btwBedrag = totaalExclusiefBtw * 0.06m; teBetalenBedrag = totaalExclusiefBtw + btwBedrag; Reservatie r = new Reservatie(klant, datum, ophaalLocatie, afzetLocatie, gereseveerdeVoortuig, arrangement, aantalUren, subtotaal, aangerekendeKortingen, totaalExclusiefBtw, btwBedrag, teBetalenBedrag); return(r); }
private void btnPlaatsReservatie_Click(object sender, RoutedEventArgs e) { //check if everyting is correctly filled in: string errorMessage = "Please Fill in the next items: \n\n"; if (datePicker.SelectedDate.HasValue == false) { errorMessage += "DateTime\n"; } if (datePicker.SelectedDate.Value < DateTime.Now) { errorMessage += "Date cannot be in the past!\n"; } if (txtBoxklantId.Text == "") { errorMessage += "Klant Id\n"; } if (comboBoxArrangement.SelectedItem == null) { errorMessage += "Arrangement\n"; } if (timeStart.Text == null) { errorMessage += "Start uur\n"; } if (totaaluur.Text == null) { errorMessage += "Totaal uur\n"; } if (comboBoxVoertuig.SelectedItem == null) { errorMessage += "Voertuig\n"; } if (errorMessage.Length > 35)//35 = the length of the original errormessage. { MessageBox.Show(errorMessage, "Oh ohh you forgot some information", MessageBoxButton.OK); } else { //converts input to data Klant klant = rm.getKlantByID(int.Parse(txtBoxklantId.Text)); DateTime datum = (DateTime)datePicker.SelectedDate; DateTime completeDate = datum.AddHours((double)timeStart.Value); Locaties ophaalLoc = (Locaties)comboBoxOphaalLoc.SelectedIndex; Locaties afzetLoc = (Locaties)comboBoxAfzetLoc.SelectedIndex; Voertuig voertuig = rm.ZoekVoertuigById(int.Parse(comboBoxVoertuig.SelectedItem.ToString().Split(",")[1])); Arrangement arrangement = (Arrangement)comboBoxArrangement.SelectedIndex; int aantaluren = (int)totaaluur.Value; //calculate price Reservatie r = rm.CalculatePriceForPreview(klant, completeDate, ophaalLoc, afzetLoc, voertuig, arrangement, aantaluren); //validation for correct price string message = $"{r.Arrangement}\n\n{r.Datum}\n{r.GereserveerdeVoertuig.Naam}\nExcl Btw:{r.TotaalExclusiefBtw}\nInc Btw:{r.TeBetalenBedrag}\n{r.klant.Naam}\n"; if (MessageBox.Show(message, "Price Confirmation", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { rm.CreateNewReservation(r); MessageBox.Show("Reservatie Succesvol toegevoegd!", "Succes", MessageBoxButton.OK); } } }