@Override
    public int altaTurno(Turno turno) 
    {       
        turno.setIdTurno(-1);
        
        EntityManager em = null;
        EntityManagerFactory ef = null;
        try 
        {
            ef = Persistence.createEntityManagerFactory("MerkaSoftPU");
            em = ef.createEntityManager();
            
            em.getTransaction().begin();
            
            Turno turnoAux = null;
            
            List results = em.createNamedQuery("Turno.findByNombre")
            .setParameter("nombre", turno.getNombre())
            .getResultList();
            
            if (results.size() > 0)
                turnoAux = (Turno)results.get(0);
            
            if (turnoAux != null)
            {
                if (!turnoAux.isDisponible())
                {
                    turnoAux.setDisponible(true);
                    em.merge(turnoAux);
                    turno.setIdTurno(turnoAux.getIdTurno());
                    em.getTransaction().commit();
                }
                else
                {
                    System.out.println("Ya existe el turno");
                    em.getTransaction().rollback();
                }
            }            
            else
            {
                em.persist(turno);
                em.getTransaction().commit();
            }
            
        } 
            
        finally 
        {
            if (em != null)             
                em.close();           
            if (ef != null)
                ef.close();
        }
        
        return turno.getIdTurno();
    }