@Override
    public List<Tour> searchTours(Criteria criteria) throws DaoException {
        if (criteria.getParam(DAO_DIRECTION_STATUS) == null) {
            criteria.addParam(DAO_DIRECTION_STATUS, ACTIVE);
        }
        if (criteria.getParam(DAO_TOUR_STATUS) == null) {
            criteria.addParam(DAO_TOUR_STATUS, ACTIVE);
        }
        Date currDate = new Date();
        Date dateFrom = (Date) criteria.getParam(DAO_TOUR_DATE_FROM);
        if (dateFrom == null || dateFrom.before(currDate)) {
            criteria.addParam(DAO_TOUR_DATE_FROM, currDate);
        }
        Date dateTo = (Date) criteria.getParam(DAO_TOUR_DATE_TO);
        if (dateTo != null && dateTo.before(currDate)) {
            criteria.addParam(DAO_TOUR_DATE_TO, currDate);
        }
        TypedQuery query = TypedQueryFactory.getInctance(QueryType.SEARCHQUERY);
        return query.load(criteria, loadGeneric, mysqlConn);
    }