Пример #1
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;
 }
Пример #2
0
 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;
 }
Пример #3
0
 public void AddVoertuig(Voertuig voertuig)
 {
     uow.Voertuigen.AddVoertuig(voertuig);
     uow.Complete();
 }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }