示例#1
0
        public void BusinessNietMogelijk()
        {
            var target   = new Limo("Audi", "A4", 0, 0, 200);
            var expected = false;

            Assert.AreEqual(expected, target.MogelijkBinnenArrangement(Arrangement.Business));
        }
示例#2
0
        public void NightlifeNietMogelijk()
        {
            var target   = new Limo("Audi", "A4", 20, 0, 200);
            var expected = false;

            Assert.AreEqual(expected, target.MogelijkBinnenArrangement(Arrangement.NightLife));
        }
示例#3
0
        public void AirportMogelijk()
        {
            var target   = new Limo("Audi", "A4", 20, 0, 0);
            var expected = true;

            Assert.AreEqual(expected, target.MogelijkBinnenArrangement(Arrangement.Airport));
        }
示例#4
0
        public void WeddingNietMogelijk()
        {
            var target   = new Limo("Audi", "A4", 20, 200, 0);
            var expected = false;

            Assert.AreEqual(expected, target.MogelijkBinnenArrangement(Arrangement.Wedding));
        }
示例#5
0
        private void BerekenPrijsInfoButton_Click(object sender, RoutedEventArgs e)
        {
            Limo li = (Limo)BeschikbareWagensListView.SelectedItem;

            if (li == null)
            {
                var invOp = new InvalidOperationException("Gelieve een limo mee te geven");
                MessageBox.Show(invOp.Message);
            }
            else
            {
                if (!li.MogelijkBinnenArrangement((Arrangement)ArrangementComboBox.SelectionBoxItem))
                {
                    var foutTekst = new InvalidOperationException("Arrangement niet mogelijk voor de geselecteerde wagen");
                    MessageBox.Show(foutTekst.Message);
                }

                else
                {
                    //REPO
                    ReserveringsRepo repo = new ReserveringsRepo();


                    if (BeschikbareWagensListView.SelectedItem != null &&
                        StartDatePicker.SelectedDate != (default(DateTime)) &&
                        StartUurComboBox.SelectionBoxItem != null && EndDatePicker.SelectedDate != (default(DateTime)) &&
                        EindUurComboBox.SelectionBoxItem != null && StartLocatieComboBox.SelectionBoxItem != null &&
                        EindLocatieComboBox.SelectionBoxItem != null && ArrangementComboBox.SelectionBoxItem != null)
                    {
                        Arrangement arr = Arrangement.Airport;
                        if (ArrangementComboBox.Text != "Airport")
                        {
                            if (ArrangementComboBox.Text == "Business")
                            {
                                arr = Arrangement.Business;
                            }
                            else if (ArrangementComboBox.Text == "Nightlife")
                            {
                                arr = Arrangement.NightLife;
                            }
                            else if (ArrangementComboBox.Text == "Wedding")
                            {
                                arr = Arrangement.Wedding;
                            }
                        }

                        //hier ophalen klant
                        Klant           kl         = (Klant)KlantComboBox.SelectionBoxItem;
                        EventingKorting evtKorting = kl.KlantCategorie.EventingKorting;

                        if (StartDatePicker.SelectedDate == null || EndDatePicker.SelectedDate == null)
                        {
                            var dataLeeg = new InvalidOperationException("Gelieve geldige data mee te geven.");
                            MessageBox.Show(dataLeeg.Message);
                        }

                        else
                        {
                            DateTime invoerStartDatum = (DateTime)StartDatePicker.SelectedDate;
                            DateTime invoerEindDatum  = (DateTime)EndDatePicker.SelectedDate;

                            var start = new DateTime(invoerStartDatum.Year, invoerStartDatum.Month, invoerStartDatum.Day,
                                                     Convert.ToInt32(StartUurComboBox.SelectionBoxItem), 0, 0);
                            var eind = new DateTime(invoerEindDatum.Year, invoerEindDatum.Month, invoerEindDatum.Day,
                                                    Convert.ToInt32(EindUurComboBox.SelectionBoxItem), 0, 0);


                            TimeSpan ts = eind - start;
                            if (ts.TotalHours > 11 || ts.TotalHours < 0)
                            {
                                var tsFoutCode = new InvalidOperationException("De einddatum van een reservatie moet steeds later vallen dan de startdatum en een reservatie kan niet langer dan 11 uur duren.");
                                MessageBox.Show(tsFoutCode.Message);
                            }

                            else
                            {
                                try
                                {
                                    //volgende twee lijnen ergens anders steken?
                                    var prb = new PrijsBerekening((Limo)BeschikbareWagensListView.SelectedItem, arr, evtKorting,
                                                                  repo.AantalReserveringenVoorKlantInJaar(kl, DateTime.Now.Year), start, eind);

                                    BedrExclBtwVoorEvtKrtValueLabel.Content = prb.PrijsInfo.BedragExclusiefBtwVoorEventingKorting;
                                    AangerekendeEvtKrtValueLabel.Content    = prb.PrijsInfo.AangerekendeEventingKorting;
                                    BedrExclBtwNaEvtKrtValueLabel.Content   = prb.PrijsInfo.BedragExclusiefBtwNaEventingKorting;
                                    BtwBedragValueLabel.Content             = prb.PrijsInfo.BtwBedrag;
                                    TotaalbedragInclBtwValueLabel.Content   = prb.PrijsInfo.TotaalTeBetalenBedrag;
                                }
                                catch (InvalidOperationException exception)
                                {
                                    MessageBox.Show(exception.Message);
                                }
                            }
                        }
                    }

                    else
                    {
                        var foutTekst = new InvalidOperationException("Gelieve alle velden in te vullen");
                        MessageBox.Show(foutTekst.Message);
                    }
                }
            }
        }