public ResponseDTO createEvent(ExpoEventDTO expoEventDTO) {
    ExpoEvent expoEvent = saveEvent(mapper.map(expoEventDTO, ExpoEvent.class));

    //        setFreeStands(expoEvent);
    //        addEventToHall(expoEvent);

    expoEventDTO = mapper.map(expoEvent, ExpoEventDTO.class);
    expoEventDTO.setExpoHall(getExpoHall(expoEventDTO.getHallId()));

    return ResponseDTO.getBuilder().data(expoEventDTO).build();
  }
  public ResponseDTO updateEvent(BigInteger id, ExpoEventDTO expoEventDTO)
      throws MethodArgumentNotValidException, NoSuchMethodException {
    ExpoEvent expoEvent = findOne(id);

    ValidationUtil.process(validator.validate(expoEvent));

    //        boolean isHallChanged = expoEvent.isHallChanged(expoEventDTO.getExpoHall());
    //        if(isHallChanged) {
    //            removeEventFromHall(expoEvent);  // hall can be changed
    //        }

    mapper.map(expoEventDTO, expoEvent);

    //        if(isHallChanged){
    //            setFreeStands(expoEvent);
    //            addEventToHall(expoEvent);
    //        }

    expoEventDTO = mapper.map(saveEvent(expoEvent), ExpoEventDTO.class);
    expoEventDTO.setExpoHall(getExpoHall(expoEventDTO.getHallId()));

    return ResponseDTO.getBuilder().data(expoEventDTO).build();
  }
  public ResponseDTO findOneEvent(BigInteger id) {
    ExpoEventDTO expoEventDTO = mapper.map(findOne(id), ExpoEventDTO.class);
    expoEventDTO.setExpoHall(getExpoHall(expoEventDTO.getHallId()));

    return ResponseDTO.getBuilder().data(expoEventDTO).build();
  }