//Add public void Add(Reservatie reservatie) { if (_reservaties.Any(res => res.Pand == reservatie.Pand && res.ReservatiePeriode.Overlapt(reservatie.ReservatiePeriode))) { throw new ArgumentException("Pand reeds gereserveerd in deze periode"); } _reservaties = _reservaties.Append(reservatie); }
//GetConflicterendeData public IEnumerable <DateTime> GetConflicterendeData(Reservatie reservatie) { foreach (DateTime nacht in reservatie.ReservatiePeriode.GetNachten()) { if (_reservaties.Any(res => res.Pand == reservatie.Pand && res.ReservatiePeriode.Overlapt(nacht))) { yield return(nacht); } } }
//Remove public void Remove(Reservatie reservatie) { _reservaties = _reservaties.Where(res => !res.Equals(reservatie)); }