public void postResult(StringBuffer resultBuffered, TransactionLogVO postResultTransaction)
      throws MSMApplicationException, MSMSystemException {

    ResultParser parser = new ResultParser();
    ResultXml resultBean = null;
    NdgUser userLogged = null;

    try {
      resultBean = parser.parseResult(resultBuffered, "UTF-8");
    } catch (Exception e) {
      throw new ResultNotParsedException();
    }

    if (resultBean != null) {
      ImeiVO imei = imeiManager.getIMEI(resultBean.getImei());
      userLogged = findNdgUserByName(imei.getUserName());
      if (userManager.userAdminHasPositiveBalance(UserVO.RESULT_LIMIT, userLogged.getUserAdmin())) {
        resultHandler.postResult(resultBuffered, postResultTransaction);
        userManager.updateUserAdminBalance(UserVO.RESULT_LIMIT, userLogged.getUserAdmin());
      } else {
        throw new UserLimitReachedException();
      }
    }
  }