Ejemplo 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);
            }
        }
Ejemplo n.º 2
0
        public void AddReservationLine(Materiaal materiaal, int amount, DateTime ophaalDatum, DateTime indienDatum)
        {
            ReservatieLijn reservatieLijn = new ReservatieLijn(amount, ophaalDatum, indienDatum, materiaal, this);

            ReservatieLijnen.Add(reservatieLijn);
        }