@Override
    Integer deleteEntity(Criteria criteria, AbstractDao dao) throws DaoException {
        criteria.addParam(DAO_CITY_STATUS, DELETED);
        Integer res = updateCity(criteria, dao);
        List<City> list = getEntity(criteria, dao);
        for (City c : list) {
            List<Hotel> hotels = (List<Hotel>) c.getHotelCollection();
            for (Hotel h : hotels) {
                Criteria crit = new Criteria();
                crit.addParam(DAO_ID_HOTEL, h.getIdHotel());
                new HotelLogic().deleteEntity(crit, dao);
            }
        }
        return res;
    }