private bool IsGuestAvailable(int reservationGuestId, DateTime arrivingDate, DateTime leavingDate) { var guestReservations = _reservationRepo.GetAllReservationsOfGuest(reservationGuestId); var relevantGuesReservations = guestReservations.Where(reserv => reserv.LeavingDate > arrivingDate).ToList(); foreach (Reservation reservation in relevantGuesReservations) { if (reservation.LeavingDate < leavingDate || (reservation.ArrivingDate > arrivingDate && reservation.ArrivingDate < leavingDate)) { return(false); } } return(true); }