@Override
    Integer deleteEntity(Criteria criteria, AbstractDao dao) throws DaoException {
        criteria.addParam(DAO_DIRECTION_STATUS, DELETED);
        Integer res = updateDirection(criteria, dao);
        List<Direction> list = getEntity(criteria, dao);
        for (Direction d : list) {
            List<Tour> tours = (List<Tour>) d.getTourCollection();
            for (Tour t : tours) {
                Criteria crit = new Criteria();
                crit.addParam(DAO_ID_TOUR, t.getIdTour());
                new TourLogic().deleteEntity(crit, dao);
            }
        }
        return res;
    }