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 void AddReservationLine(Materiaal materiaal, int amount, DateTime ophaalDatum, DateTime indienDatum) { ReservatieLijn reservatieLijn = new ReservatieLijn(amount, ophaalDatum, indienDatum, materiaal, this); ReservatieLijnen.Add(reservatieLijn); }