public void grabarTarifa(ActionEvent event) throws EJBFactoryException {
    log.info(
        "-------------------------------------Debugging TipoCambioController.grabarTarifa-------------------------------------");
    Tarifa tipoCambio = null;

    if (!validarTarifa()) {
      MessageController message =
          (MessageController) FacesContextUtil.getSessionBean("messageController");
      message.setWarningMessage(
          "Datos no válidos ingresados. Verifque los mensajes de error y corrija.");
      return;
    }

    GeneralFacadeRemote generalFacade =
        (GeneralFacadeRemote) EJBFactory.getRemote(GeneralFacadeRemote.class);
    if (getBeanTarifa() != null && getBeanTarifa().getId() != null) {

      if (getBeanTarifa().getId().getIntPersEmpresaTarifa() == null
          && getBeanTarifa().getId().getIntParaTipoTarifaCod() != null
          && getBeanTarifa().getId().getDtParaTarifaDesde() != null) {
        // Grabar Tipo de Cambio
        getBeanTarifa().getId().setIntPersEmpresaTarifa(Constante.PARAM_EMPRESASESION);
        getBeanTarifa().setIntPersEmpresaUsuario(Constante.PARAM_EMPRESASESION);
        getBeanTarifa().setIntPersPersonaUsuario(Constante.PARAM_USUARIOSESION);
        try {
          tipoCambio = generalFacade.grabarTarifa(getBeanTarifa());
        } catch (BusinessException e) {
          FacesContextUtil.setMessageError(FacesContextUtil.MESSAGE_ERROR_ONSAVE);
          log.error(e);
        }
      } else if (getBeanTarifa().getId().getIntPersEmpresaTarifa() != null
          && getBeanTarifa().getId().getIntParaTipoTarifaCod() != null
          && getBeanTarifa().getId().getDtParaTarifaDesde() != null) {
        // Actualizar Tipo de Cambio
        try {
          tipoCambio = generalFacade.modificarTarifa(getBeanTarifa());
        } catch (BusinessException e) {
          FacesContextUtil.setMessageError(FacesContextUtil.MESSAGE_ERROR_ONSAVE);
          log.error(e);
        }
      }
    }

    if (tipoCambio != null) {
      FacesContextUtil.setMessageSuccess(FacesContextUtil.MESSAGE_SUCCESS_ONSAVE);
    }

    // Refrescar la busqueda
    try {
      busquedaTarifa();
    } catch (BusinessException e) {
      FacesContextUtil.setMessageError(FacesContextUtil.MESSAGE_ERROR_ONSEARCH);
      log.error(e);
    }
    setBlnShowDivFormTarifa(false);
  }
 public void setSelectedTarifa(ActionEvent event) {
   log.info(
       "-------------------------------------Debugging TipoCambioController.setSelectedTarifa-------------------------------------");
   log.info("activeRowKey: " + FacesContextUtil.getRequestParameter("rowTarifa"));
   String selectedRow = FacesContextUtil.getRequestParameter("rowTarifa");
   Tarifa tarifa = null;
   for (int i = 0; i < listTarifa.size(); i++) {
     tarifa = listTarifa.get(i);
     if (i == Integer.parseInt(selectedRow)) {;
       setTarifaSelected(tarifa);
       break;
     }
   }
 }
  public TarifaGeneralController() {
    tarifaBusq = new Tarifa();
    tarifaBusq.setId(new TarifaId());
    cleanBeanTarifa();
    isValidTarifa = true;
    blnUpdating = false;

    Usuario usuarioSesion =
        (Usuario) FacesContextUtil.getRequest().getSession().getAttribute("usuario");
    intUsuarioSesion = usuarioSesion.getIntPersPersonaPk();
    intEmpresaSesion = usuarioSesion.getEmpresa().getIntIdEmpresa();
    getPermisoPerfil(usuarioSesion);
  }
  public Boolean validarTarifa() {
    log.info(
        "-------------------------------------Debugging TipoCambioController.validarTarifa-------------------------------------");
    isValidTarifa = true;

    if (getBeanTarifa() != null) {
      if (getBeanTarifa().getId() != null
          && getBeanTarifa().getId().getIntParaTipoTarifaCod() != null
          && getBeanTarifa().getId().getIntParaTipoTarifaCod().equals(0)) {
        FacesContextUtil.setMessageError("Seleccione un tipo de tarifa.");
        isValidTarifa = false;
      }

      if (getBeanTarifa().getId().getDtParaTarifaDesde() == null
          || getBeanTarifa().getDtTarifaHasta() == null
          || getBeanTarifa()
                  .getId()
                  .getDtParaTarifaDesde()
                  .compareTo(getBeanTarifa().getDtTarifaHasta())
              > 0) {
        FacesContextUtil.setMessageError("Rango de fechas inválido.");
        isValidTarifa = false;
      }

      if (getBeanTarifa().getIntParaFormaAplicar() == null
          && getBeanTarifa().getIntParaFormaAplicar().equals(0)) {
        FacesContextUtil.setMessageError("Seleccione un tipo de Forma de Aplicar.");
        isValidTarifa = false;
      }

      if (getBeanTarifa().getBdValor() == null || getBeanTarifa().getBdValor().equals(0)) {
        FacesContextUtil.setMessageError("El Valor no puede ser 0 ni quedar vacío");
        isValidTarifa = false;
      }
    }

    return isValidTarifa;
  }