public Reservatie ReservatieMakenEnReturnen(int klantNr, DateTime startDatum, Arrengement arrengement, int startUur, int duur, int limoId, StalLocatie startStalLocatie, StalLocatie aankomstStalLocatie, string verwachtAdres) { Klant klant = VindVolledigeKlantVoorKlantNummer(klantNr); Limousine limo = VindLimousineVoorId(limoId); double korting = 0; if (klant.Categorie.StaffelKorting != null) { korting = BerekenKortingsPercentage(klant, startDatum); } Reservatie res = new Reservatie(klant, startDatum, arrengement, startUur, duur, limo, DateTime.Now, startStalLocatie, aankomstStalLocatie, verwachtAdres, korting); VoegReservatieToe(res); return(res); }
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 VoegReservatieToe(Reservatie reservatie) { Handler.VoegReservatieToe(reservatie); }
public void CreateNewReservation(Reservatie r) { uow.Reservaties.AddReservatie(r); uow.Complete(); }