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); } }
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); }