/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package projetAppliWeb.gestionnaires;
import java.util.Collection;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import projetAppliWeb.modeles.Utilisateur;
/**
*
* @author Zakaria
*/
@Stateless
public class GestionnaireUtilisateur {
// Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method")
@PersistenceContext
private EntityManager em;
public Collection<Utilisateur> getAllUsers() {
// Exécution d'une requête équivalente à un select *
Query q = em.createQuery("select u from Utilisateur u");
return q.getResultList();
}
private Utilisateur getUserById(int id){
Utilisateur user=em.find(Utilisateur.class, id);
return user;
}
private Utilisateur getUserByLogin(String login){
Query q = em.createQuery("select u from Utilisateur u where u.login=:login");
q.setParameter("login", login);
Utilisateur user;
try{
user =(Utilisateur)q.getSingleResult();
}catch(NoResultException e){
user=null;
}
return user;
}
public Utilisateur getUserByLoginMpd(String login,String mdp){
Query q = em.createQuery("select u from Utilisateur u where u.login=:login");
q.setParameter("login", login);
Utilisateur user=(Utilisateur)q.getSingleResult();
if(user != null && user.getPassword().equalsIgnoreCase(mdp)){
return user;
}
return null;
}
public void deleteUserById(int id) {
Utilisateur user=getUserById(id);
em.remove(user);
}
public void deleteUserByLogin(String login) {
Utilisateur user=getUserByLogin(login);
em.remove(user);
}
public void deleteUser(Utilisateur user) {
em.remove(user);
}
public void updateUser(Utilisateur user) {
em.merge(user);
}
public void creerUser(Utilisateur user){
if(getUserByLogin(user.getLogin())==null){
em.persist(user);
}
}
}