public int EliminarHotel(int id) { if (!_listahoteles.Any(o => o.Id == id)) { throw new ReservasException("No existe el hotel"); } List <Habitacion> listaHabitaciones = _listaHabitaciones.Where(x => x.Id == id).ToList(); foreach (Habitacion a in listaHabitaciones) { if (_listaReservas.Any(o => o.IdHabitacion == a.Id)) { throw new ReservasException("Hotel con reservas. Debe eliminarlas."); } } if (listaHabitaciones.Count > 0) { throw new ReservasException("Hotel con habitaciones. Debe eliminarlas."); } TransactionResult resultado = HotelMapper.Delete(id); if (resultado.IsOk) { HotelesCache(); return(resultado.Id); } else { throw new ReservasException(resultado.Error); } }