Exemplo n.º 1
0
        public void RemoveReservationLijn(ReservatieLijn reservatieLijn, IReservatieRepository reservatieRepository)
        {
            if (reservatieLijn == null)
            {
                throw new ArgumentException("De reservatielijn is niet beschikbaar of mogelijk al verwijderd.");
            }
            if (!Reservaties.Contains(reservatieLijn.Reservatie))
            {
                throw new ArgumentException("De reservatielijn is niet beschikbaar.");
            }
            if (!reservatieLijn.Reservatie.ReservatieLijnen.Contains(reservatieLijn))
            {
                throw new ArgumentException("De reservatielijn is al verwijderd geweest.");
            }

            if (reservatieLijn.Reservatie.Opgehaald)
            {
                throw new ArgumentException("De reservatie is al opgehaald. Je kan geen wijzigingen meer aanbrengen.");
            }

            Reservatie r = reservatieLijn.Reservatie;

            reservatieLijn.Reservatie.ReservatieLijnen.Remove(reservatieLijn);
            reservatieRepository.RemoveReservationLine(reservatieLijn);

            // Verwijder de volledige reservatie wanneer er geen reservatielijnen meer zijn.
            if (r.ReservatieLijnen.Count == 0)
            {
                Reservaties.Remove(r);
                reservatieRepository.Delete(r);
            }
        }
Exemplo n.º 2
0
 public Reservatie RemoveReservation(Reservatie reservatie)
 {
     if (reservatie == null)
     {
         throw new ArgumentException("De reservatie is niet beschikbaar of mogelijk al verwijderd.");
     }
     if (!Reservaties.Contains(reservatie))
     {
         throw new ArgumentException("De reservatie is al verwijderd geweest.");
     }
     if (reservatie.Opgehaald)
     {
         throw new ArgumentException("Een reservatie die is al is opgehaald kan niet geannnuleerd worden.");
     }
     Reservaties.Remove(reservatie);
     return(reservatie);
 }