@Override
    public String execute(SessionRequestContent request) throws ServletLogicException {
        String page = ConfigurationManager.getProperty("path.page.edithotel");
        resaveParamsSaveHotel(request);
        try {
            Criteria criteria = new Criteria();
            Hotel hotel = (Hotel) request.getSessionAttribute(JSP_CURRENT_HOTEL);
            Validator.validateHotel(hotel);
            Integer idHotel = hotel.getIdHotel();
            if (idHotel != null) {
                criteria.addParam(DAO_ID_HOTEL, idHotel);
            }
            Integer idDescription = hotel.getDescription().getIdDescription();
            if (idDescription != null) {
                criteria.addParam(DAO_ID_DESCRIPTION, idDescription);
            }
            Integer stars = hotel.getStars();
            if (stars != null) {
                criteria.addParam(DAO_HOTEL_STARS, stars);
            }
            criteria.addParam(DAO_HOTEL_NAME, hotel.getName());
            criteria.addParam(DAO_HOTEL_PICTURE, hotel.getPicture());
            criteria.addParam(DAO_DESCRIPTION_TEXT, hotel.getDescription().getText());
            criteria.addParam(DAO_ID_CITY, hotel.getCity().getIdCity());

            User user = (User) request.getSessionAttribute(JSP_USER);
            if (user != null) {
                criteria.addParam(DAO_USER_LOGIN, user.getLogin());
                ClientType type = ClientTypeManager.clientTypeOf(user.getRole().getRoleName());
                criteria.addParam(DAO_ROLE_NAME, type);
            } else {
                criteria.addParam(DAO_ROLE_NAME, request.getSessionAttribute(JSP_ROLE_TYPE));
            }

            AbstractLogic hotelLogic = LogicFactory.getInctance(LogicType.HOTELLOGIC);
            Integer resIdHotel = hotelLogic.doRedactEntity(criteria);
            request.setParameter(JSP_SELECT_ID, resIdHotel.toString());
            page = new GoShowHotel().execute(request);
        } catch (TechnicalException | LogicException ex) {
            request.setAttribute("errorSaveReason", ex.getMessage());
            request.setAttribute("errorSave", "message.errorSaveData");
            request.setSessionAttribute(JSP_PAGE, page);
        }
        return page;
    }