Example #1
0
  @Override
  public void updateModel() {
    try {
      if (MyString.NotNull(getReq("login"), getReq("user_id"))) {
        // проверить, есть ли уже такой логин
        Table usersTable = getTable("users");
        Select sel = getSelect();
        sel.select(usersTable.get("user_id"), "count", AgrTypes.COUNT);
        sel.from(usersTable);
        sel.and(usersTable.get("login").isLikeLower(getReq("login")));
        sel.and(usersTable.get("login").eq((getReq("login"))));
        sel.and(usersTable.get("user_id").notEq(getReq("user_id")));
        sel.and(usersTable.get("active_to").isNull());
        boolean ok = sel.executeSelect(getConnection());

        if (ok) {
          int count = 0;
          if (!sel.getDinamicList().isEmpty()) {
            DinamicModel model = sel.getDinamicList().get(0);
            try {
              count = Integer.parseInt(model.get("count").toString());
            } catch (Exception e) {
            }
          }
          if (count == 0) {
            super.updateModel();
          } else {
            setStatus(false);
            addError("логин " + getReq("login") + " уже существует у другого пользователя");
          }
        } else {
          setStatus(false);
          addError(sel.getError());
        }
      } else {
        setStatus(false);
        addError("не все параметры переданы");
      }
    } catch (Exception e) {
      setStatus(false);
      addError(MyString.getStackExeption(e));
    }
  }