コード例 #1
0
        public static Staffelkorting GetGroteOmzetStaffelkorting()
        {
            int                 minimumAantalNachten = 7;
            Periode             geldigheidsPeriode   = new Periode("22/04/2019", "31/12/2999");
            PercentuelePromotie trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, -0.5 / 7);
            StaffelTranche      testTranche0         = new StaffelTranche(minimumAantalNachten, trancheKorting);

            minimumAantalNachten = 1;
            trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, 0);
            StaffelTranche testTranche1 = new StaffelTranche(minimumAantalNachten, trancheKorting);

            minimumAantalNachten = 14;
            trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, -1 + 11.9 / 14);
            StaffelTranche testTranche2 = new StaffelTranche(minimumAantalNachten, trancheKorting);

            minimumAantalNachten = 28;
            trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, -1 + 22.4 / 28);
            StaffelTranche testTranche3 = new StaffelTranche(minimumAantalNachten, trancheKorting);

            string         naam        = "Grote Omzet";
            Staffelkorting staffelTest = new Staffelkorting(naam);

            staffelTest.StaffelTrancheLijst.Add(testTranche0);
            staffelTest.StaffelTrancheLijst.Add(testTranche1);
            staffelTest.StaffelTrancheLijst.Add(testTranche2);
            staffelTest.StaffelTrancheLijst.Add(testTranche3);

            return(staffelTest);
        }
コード例 #2
0
        public void VoegStaffelTranchesToe()
        {
            int                 minimumAantalNachten = 7;
            Periode             geldigheidsPeriode   = new Periode("22/04/2019", "31/12/2999");
            PercentuelePromotie trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, -0.5 / 7);
            StaffelTranche      testTranche0         = new StaffelTranche(minimumAantalNachten, trancheKorting);

            minimumAantalNachten = 1;
            trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, 0);
            StaffelTranche testTranche1 = new StaffelTranche(minimumAantalNachten, trancheKorting);

            minimumAantalNachten = 14;
            trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, -1 + 11.9 / 14);
            StaffelTranche testTranche2 = new StaffelTranche(minimumAantalNachten, trancheKorting);

            minimumAantalNachten = 28;
            trancheKorting       = new PercentuelePromotie(geldigheidsPeriode, -1 + 22.4 / 28);
            StaffelTranche testTranche3 = new StaffelTranche(minimumAantalNachten, trancheKorting);

            string         naam        = "Grote Omzet";
            Staffelkorting staffelTest = new Staffelkorting(naam);

            staffelTest.StaffelTrancheLijst.Add(testTranche0);
            staffelTest.StaffelTrancheLijst.Add(testTranche1);
            staffelTest.StaffelTrancheLijst.Add(testTranche2);
            staffelTest.StaffelTrancheLijst.Add(testTranche3);
            Assert.IsTrue(staffelTest.StaffelTrancheLijst.Count == 4);
            Assert.IsTrue(0.00001 >
                          5.6 / 28 +
                          staffelTest.StaffelTrancheLijst
                          .Find(tr => tr.MinimumAantalNachten == 28)
                          .TrancheKorting.Percent);
        }
コード例 #3
0
        private void AddVastePrijsAndPercentuelePromotieToPromoties()
        {
            VastePrijsPromotie  vastePrijsPromotie  = new VastePrijsPromotie(-250);
            PercentuelePromotie percentuelePromotie = new PercentuelePromotie(-0.10);

            RentAVillaRentingService.Promoties.Add(vastePrijsPromotie);
            RentAVillaRentingService.Promoties.Add(percentuelePromotie);
        }
コード例 #4
0
        public void MaakStaffelTranche()
        {
            int minimumAantalNachten           = 7;
            PercentuelePromotie trancheKorting = new PercentuelePromotie(-0.5 / 7);
            StaffelTranche      testTranche    = new StaffelTranche(minimumAantalNachten, trancheKorting);

            Assert.IsTrue(testTranche.MinimumAantalNachten == 7);
            Assert.IsTrue(Math.Abs(testTranche.TrancheKorting.Percent + 0.5 / 7) < 0.0001);
        }
コード例 #5
0
        public void PercentuelePromotieHeeftPeriodeEnIsPrijsComponent()
        {
            Periode periode = new Periode("22/04/2019", "26/04/2019");
            double  percent = -0.25;

            PercentuelePromotie promotie = new PercentuelePromotie(periode, percent);

            Assert.IsTrue(promotie.GetType() == typeof(PercentuelePromotie));
            Assert.IsTrue(promotie.Waarde == 0 && promotie.ToepassingsEenheid == PrijsEenheid.None);
            PercentuelePromotie concretePercentPromotie = promotie.GetConcretePromotieOp(new HuurPrijsPerNacht(Tarief.Laagseizoen, 250.00));

            Assert.IsTrue(concretePercentPromotie.Waarde == 250.00 * -0.25);
        }
コード例 #6
0
        public void MaakPrijsOfferteMetPrijsComponenten()
        {
            int          aantalPersonen = 6;
            int          aantalNachten  = 7;
            PrijsOfferte offerte        = new PrijsOfferte();

            HuurPrijsPerNacht       huurPrijsPerNacht       = new HuurPrijsPerNacht(Tarief.Hoogseizoen, 127.00);
            Waarborg                waarborg                = new Waarborg(500.00);
            SchoonmaakPrijs         schoonmaak              = new SchoonmaakPrijs(100.00);
            PersoonsToeslagPerNacht persoonsToeslagPerNacht = new PersoonsToeslagPerNacht(25);
            Periode             promotiePeriode             = new Periode("21/04/2019", "31/12/2019");
            VastePrijsPromotie  vastePrijsPromotie          = new VastePrijsPromotie(promotiePeriode, -250.00);
            PercentuelePromotie reservatieKorting           = new PercentuelePromotie(promotiePeriode, -0.10, offerte);
            PercentuelePromotie huurPrijsPromotie           = new PercentuelePromotie(promotiePeriode, -0.5, huurPrijsPerNacht);

            offerte.Add(huurPrijsPerNacht, aantalNachten);
            offerte.Add(waarborg);
            offerte.Add(schoonmaak);
            offerte.Add(persoonsToeslagPerNacht, aantalNachten * aantalPersonen);
            offerte.Add(vastePrijsPromotie);
            offerte.Add(reservatieKorting);
            offerte.Add(huurPrijsPromotie, aantalNachten);
            Assert.IsTrue(offerte.Waarde != 0);
        }
コード例 #7
0
 public StaffelTranche(int minimumAantalNachten, PercentuelePromotie trancheKorting)
 {
     MinimumAantalNachten = minimumAantalNachten;
     TrancheKorting       = trancheKorting;
 }