/*
* 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.CategorieJeu;
/**
*
* @author Zakaria
*/
@Stateless
public class GestionnaireCategorieJeu {
// Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method")
@PersistenceContext
private EntityManager em;
public void createCategorie(String nom){
if(getCategorieByName(nom) == null){
CategorieJeu categorie=new CategorieJeu(nom);
em.persist(categorie);
}
}
public Collection<CategorieJeu> getAllCategories() {
// Exécution d'une requête équivalente à un select *
Query q = em.createQuery("select c from CategorieJeu c");
return q.getResultList();
}
public CategorieJeu getCategorieByName(String nom) {
// Exécution d'une requête équivalente à un select *
Query q = em.createQuery("select c from CategorieJeu c where c.nom=:nom");
q.setParameter("nom", nom);
CategorieJeu categoriejeu;
try{
categoriejeu=(CategorieJeu)q.getSingleResult();
}catch(NoResultException e){
categoriejeu=null;
}
return categoriejeu;
}
public CategorieJeu getCategorieById(int id) {
CategorieJeu catId = em.find(CategorieJeu.class, id);
return catId;
}
public void modifyCategorie(CategorieJeu cat){
em.merge(cat);
}
public void modifyCategorieByName(String ancienNom,String NouveauNom){
CategorieJeu catNom =getCategorieByName(ancienNom);
catNom.setNom(NouveauNom);
em.merge(catNom);
}
public void modifyCategorieById(int id,String nom){
CategorieJeu catId =getCategorieById(id);
catId.setNom(nom);
em.merge(catId);
}
public void deleteTagByName(String nom){
CategorieJeu tagNom =getCategorieByName(nom);
em.remove(tagNom);
}
public void deleteTagById(int id){
CategorieJeu tagNom =getCategorieById(id);
em.remove(tagNom);
}
}