@Override
    public int altaEmpleado(Empleado empleado) 
    {
        empleado.setIdEmpleado(-1);
        
        EntityManager em = null;
        EntityManagerFactory ef = null;
        try 
        {
            ef = Persistence.createEntityManagerFactory("MerkaSoftPU");
            em = ef.createEntityManager();
            
            em.getTransaction().begin();
            
            Empleado empleadoAux = null;
            
            List results = em.createNamedQuery("Empleado.findByDni")
            .setParameter("dni", empleado.getDni())
            .getResultList();
            
            if (results.size() > 0)
                empleadoAux = (Empleado)results.get(0);
            
            if (empleadoAux != null)
            {
                if (!empleadoAux.getDisponible())
                {
                    empleadoAux.setDisponible(true);
                    em.merge(empleadoAux);
                    empleado.setIdEmpleado(empleadoAux.getIdEmpleado());
                    em.getTransaction().commit();
                }
                else
                {
                    System.out.println("Ya existe el empleado");
                    em.getTransaction().rollback();
                }
            }            
            else
            {
                em.persist(empleado);
                em.getTransaction().commit();
            }
            
           
        } 
        finally 
        {
            if (em != null)             
                em.close();           
            if (ef != null)
                ef.close();
        }
        
        return empleado.getIdEmpleado();
    }