/**
   * Guarda/actualiza las asociaciones de un jugador con una lista de familiares
   *
   * @param familiaresJugadores lista de familiares
   * @param jugador jugador
   */
  public void guardar(List<FamiliarJugador> familiaresJugadores, Jugador jugador) {
    Session sesion = getSession();
    Transaction tx = sesion.beginTransaction();
    int p = 0;
    List<FamiliarJugador> datos = new ArrayList<FamiliarJugador>();
    datos.addAll(familiaresJugadores);

    Criteria c =
        sesion
            .createCriteria(FamiliarJugador.class)
            .createCriteria("jugador")
            .add(Restrictions.eq("cedulaRif", jugador.getCedulaRif()));

    List<FamiliarJugador> datosAlmacenados = (List<FamiliarJugador>) c.list();

    for (FamiliarJugador datoAlmacenado : datosAlmacenados) {
      p = buscarDatoPorCodigo(datos, datoAlmacenado);
      if (p == -1) {
        datoAlmacenado.setEstatus('E');
        datoAlmacenado.setRepresentanteActual(false);
      } else {
        datoAlmacenado.setDatoBasico(datos.get(p).getDatoBasico());
        datoAlmacenado.setRepresentanteActual(datos.get(p).isRepresentanteActual());

        if (datoAlmacenado.getEstatus() == 'E') {
          datoAlmacenado.setEstatus('A');
        }
        datos.remove(p);
      }
      sesion.update(datoAlmacenado);
    }
    /*
     * Procesamos los valores que hayan quedado en la lista , estos
     * restantes representan los nuevos datos que ha agregado el usuario
     */
    for (FamiliarJugador datoNuevo : datos) {
      datoNuevo.setFechaIngreso(new Date());
      datoNuevo.setEstatus('A');
      sesion.save(datoNuevo);
    }
    tx.commit();
  }
 public void actualizarRepresentante(Familiar familiar, String cedulaJugador, boolean sw) {
   Session sesion = getSession();
   Transaction tx = sesion.beginTransaction();
   Criteria c1 =
       sesion
           .createCriteria(FamiliarJugador.class)
           .add(Restrictions.eq("familiar", familiar))
           .add(Restrictions.eq("jugador.cedulaRif", cedulaJugador));
   FamiliarJugador familiarJugador = (FamiliarJugador) c1.uniqueResult();
   familiarJugador.setRepresentanteActual(sw);
   sesion.update(familiarJugador);
   tx.commit();
 }