@Override
    public void stateChanged(ChangeEvent ce) {
      boolean esNumero = true;
      Integer codigoC;
      List<Cliente> clientes = null;
      JBuscarEntidadPresenter buscarEntPresenter;
      ClienteTableModel aTableModel;

      String codigo = vista.getTxtCodCliente().getText();

      for (int i = 0; i < codigo.length(); i++) {
        if (!Character.isDigit(codigo.charAt(i))) {
          esNumero = false;
        }
      }

      if (esNumero) {
        codigoC = Integer.valueOf(codigo);
        try {
          aCliente = GestionEnvioServicios.buscarClientePorCodigo(codigoC, false);
        } catch (Exception ex) {
          notificarException(ex);
        }
      } else {
        try {
          clientes = GestionEnvioServicios.buscarClientesPorRazonSocial(codigo, false);
        } catch (Exception ex) {
          notificarException(ex);
        }
        if (clientes.size() == 1) {
          aCliente = clientes.get(0);
        } else {
          buscarEntPresenter = new JBuscarEntidadPresenter();
          aTableModel = new ClienteTableModel(clientes);
          buscarEntPresenter.setClase(Cliente.class);
          buscarEntPresenter.setResultado(clientes);
          buscarEntPresenter.setHabilitado(false);
          buscarEntPresenter.setModel(aTableModel);
          buscarEntPresenter.mostrar();
          aCliente = (Cliente) buscarEntPresenter.getEntidad();
        }
      }
      if (aCliente != null) {
        vista.getTxtCodCliente().setText(aCliente.getNroCliente().toString().trim());
        vista.getTxtRazonSocialCli().setText(aCliente.getRazonSocial().trim());
        vista.getTxtNroFactura().requestFocus();
      } else {
        vista.notificarMensaje(
            "No se encontro el Cliente o a cancelado la busqueda", JOptionPane.INFORMATION_MESSAGE);
      }
    }
    @Override
    public void stateChanged(ChangeEvent ce) {
      JBuscarEntidadPresenter buscarEntPresenter;
      MedioEnvioTableModel aTableModel;
      List<MedioEnvio> medios = null;
      boolean esNumero = true;
      String codigo = vista.getTxtCodTransporte().getText();

      for (int i = 0; i < codigo.length(); i++) {
        if (!Character.isDigit(codigo.charAt(i))) {
          esNumero = false;
        }
      }
      if (esNumero) {
        Integer codigoT = Integer.valueOf(codigo);
        try {
          aMedio = GestionEnvioServicios.buscarMedioEnvioPorCodigo(codigoT, false);
        } catch (Exception ex) {
          notificarException(ex);
        }
      } else {
        try {
          medios = GestionEnvioServicios.buscarMediosEnvioPorRazonSocial(codigo, false);
        } catch (Exception ex) {
          notificarException(ex);
        }
        if (medios.size() == 1) {
          aMedio = medios.get(0);
        } else {
          buscarEntPresenter = new JBuscarEntidadPresenter();
          aTableModel = new MedioEnvioTableModel(medios);
          buscarEntPresenter.setClase(MedioEnvio.class);
          buscarEntPresenter.setResultado(medios);
          buscarEntPresenter.setHabilitado(false);
          buscarEntPresenter.setModel(aTableModel);
          buscarEntPresenter.mostrar();
          aMedio = (MedioEnvio) buscarEntPresenter.getEntidad();
        }
      }
      if (aMedio != null) {
        vista.getTxtCodTransporte().setText(aMedio.getId().toString());
        vista.getTxtRazonSocial().setText(aMedio.getRazonSocial());
        vista.getTxtCodCliente().requestFocus();
      } else {
        vista.notificarMensaje(
            "El Transporte/comisionista no se há encontrado o a cancelado la busqueda",
            JOptionPane.INFORMATION_MESSAGE);
      }
    }