public ActionResult <Locatie> PostLocatie(LocatieDTO locatieDTO)
        {
            Locatie locatieToCreate = new Locatie(locatieDTO.Gemeente, locatieDTO.Straatnaam, locatieDTO.Huisnummer, locatieDTO.Postcode);

            _locatieRepository.Add(locatieToCreate);
            _locatieRepository.SaveChanges();

            return(CreatedAtAction(nameof(GetLocatie), new { id = locatieToCreate.LocatieId }, locatieToCreate));
        }
        public ActionResult <Attractie> PostLocatie(LocatieDTO locatieDTO)
        {
            Locatie locatie = new Locatie()
            {
                LocatieNaam = locatieDTO.LocatieNaam, Straat = locatieDTO.Straat, Nr = locatieDTO.Nr, Postcode = locatieDTO.Postcode, PlaatsNaam = locatieDTO.PlaatsNaam
            };

            _locatieRepository.Add(locatie);
            _locatieRepository.SaveChanges();

            return(CreatedAtAction(nameof(GetLocaties), new { id = locatie.Id }, locatie));
        }
        public void Add(object Object)
        {
            switch (Object)
            {
            case Klant Klant:
                _klantRepo.Add(Klant);
                break;

            case Limousine Limousine:
                _limoRepo.Add(Limousine);
                break;

            case Locatie Locatie:
                _locaRepo.Add(Locatie);
                break;

            case Staffelkorting Staffelkorting:
                _staffelRepo.Add(Staffelkorting);
                break;

            case Reservering Reservering:
                if (Reservering.GereserveerdeTijd > 11)
                {
                    throw new ArgumentException("Gereserveerde tijd mag niet boven 11 zijn.");
                }
                if ((Reservering.ReservatieType.Equals(ReserveringType.NightLife)) && (Reservering.StartDatum.Hour < 20))
                {
                    throw new ArgumentException("NightLife reserveringen mogen niet voor 20 uur of na 24 uur gestart worden.");
                }
                if ((Reservering.ReservatieType.Equals(ReserveringType.Wedding)) && (((Reservering.StartDatum.Hour < 7)) || (Reservering.StartDatum.Hour > 15)))
                {
                    throw new ArgumentException("Wedding reserveringen mogen niet voor 7 uur of na 15 uur gestart worden.");
                }
                if ((Reservering.ReservatieType.Equals(ReserveringType.Wellness)) && (((Reservering.StartDatum.Hour < 7)) || (Reservering.StartDatum.Hour > 12)))
                {
                    throw new ArgumentException("Wellness reserveringen mogen niet voor 7 uur of na 12 uur gestart worden.");
                }
                if (_reserRepo.getReserveringMetLimousine(Reservering.Limousine).Any(r =>
                                                                                     // reservering tussen nu en 6 uur
                                                                                     (Reservering.StartDatum.CompareTo(r.StartDatum) >= 0 && Reservering.StartDatum.AddHours(6).CompareTo(r.StartDatum) <= 0) ||
                                                                                     // reservering tussen -6 uur en nu
                                                                                     (Reservering.StartDatum.CompareTo(r.StartDatum) <= 0 && Reservering.StartDatum.AddHours(-6).CompareTo(r.StartDatum) >= 0))
                    )
                {
                    throw new ArgumentException("Er moet minstens 6 uur tussen het hergebruik van eenzelfde limousine zijn.");
                }
                _reserRepo.Add(Reservering);
                if ((Reservering.Limousine.Nightlife.Equals(0)) && (Reservering.ReservatieType == ReserveringType.NightLife))
                {
                    throw new ArgumentException("Deze Limousine mag niet gebruikt worden voor NightLife reserveringen");
                }
                if ((Reservering.Limousine.Wellness.Equals(0)) && (Reservering.ReservatieType == ReserveringType.Wellness))
                {
                    throw new ArgumentException("Deze Limousine mag niet gebruikt worden voor Wellness reserveringen");
                }
                if ((Reservering.Limousine.Wedding.Equals(0)) && (Reservering.ReservatieType == ReserveringType.Wedding))
                {
                    throw new ArgumentException("Deze Limousine mag niet gebruikt worden voor Wedding reserveringen");
                }
                break;

            default:
                break;
            }
            _klantRepo.SaveChanges();
        }