Package utilisateurs.gestionnaires

Source Code of utilisateurs.gestionnaires.GestionnaireUtilisateurs

/*
* Copyright (C) 2014 Thibaut Comte
*
* This is for your eyes only!
* Destroy after reading!
*/
package utilisateurs.gestionnaires;

import abonnements.modele.Abonnement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import morceaux.modele.Morceau;
import utilisateurs.modele.Utilisateur;

/**
*
* @author Thibaut
*/
@Stateless
public class GestionnaireUtilisateurs {

    // Ici injection de code : on n'initialise pas. L'entity manager sera créé 
    // à partir du contenu de persistence.xml 
    @PersistenceContext
    private EntityManager em;

    public Utilisateur creeUtilisateur(String nom, String prenom, String login, String password, Abonnement abonnement) throws ParseException {
        Utilisateur up = getUserByLogin(login);
        if (up == null) {
            Utilisateur u;
            if(login.equals("admin")){
                String s = "2014-20-05";
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-dd-mm");
                Date d;
                d = sdf.parse(s);
                //Date d = new Date();
                u = new Utilisateur(login, nom, prenom, password, abonnement, d);
                em.persist(u);
            }else{
                Date d = new Date();
                u = new Utilisateur(login, nom, prenom, password, abonnement, d);
                em.persist(u);
            }
            return u;
        } else {
            return null;
        }
    }

    public Utilisateur updateUtilisateur(Utilisateur u, String nom, String prenom, String login, String password) {
        u.setFirstname(prenom);
        u.setLastname(nom);
        u.setLogin(login);
        u.setPassword(password);
        em.merge(u);
        Utilisateur up = getUserByLogin(login);
        return up;
    }

    public Collection<Utilisateur> getAllUsers(int nbpagination) {
        // Exécution d'une requête équivalente à un select * 
        Query q = em.createQuery("select u from Utilisateur u");
        q.setFirstResult(nbpagination * 10);
        q.setMaxResults(10);
        return q.getResultList();
    }

    public int countUser() {
        Query q = em.createQuery("select count (u) from Utilisateur u");
        List results = q.getResultList();
        return Integer.parseInt(results.get(0).toString());
    }

    public Utilisateur getUserByLogin(String login) {
        Query q = em.createQuery("select u from Utilisateur u where u.login='" + login + "'");
        List results = q.getResultList();
        if (!results.isEmpty()) {
            Iterator stIterator = results.iterator();
            Utilisateur u = (Utilisateur) stIterator.next();
            return u;
        } else {
            return null;
        }
    }

    public Collection<Utilisateur> getUsersParVille(int idVille, int nbpagination) {
        // Exécution d'une requête équivalente à un select * 
        Query q = em.createQuery("select u from Utilisateur u where u.adresse.id ='" + idVille + "'");
        q.setFirstResult(nbpagination * 10);
        q.setMaxResults(10);
        return q.getResultList();
    }
    // Add business logic below. (Right-click in editor and choose 
    // "Insert Code > Add Business Method") 

    public int countUserByVille(int idVille) {
        Query q = em.createQuery("select count (u) from Utilisateur u where u.adresse.id='" + idVille + "'");
        List results = q.getResultList();
        return Integer.parseInt(results.get(0).toString());
    }

    public void addMorceau(String login, Morceau m) {
        Utilisateur u = getUserByLogin(login);
        if (!u.getMorceaux().contains(m)) {
            u.addMorceau(m);
            em.merge(u);
        }
    }

    public void reAbonnement(Utilisateur u ,Abonnement a) {
        u.setAbonnement(a);
        Calendar cal = Calendar.getInstance();
        cal.setTime(new Date());
        cal.add(Calendar.DATE, a.getDuree());
        u.setDateFin(cal.getTime());
        em.merge(u);
    }
   
    /**
     * Fonction qui n'est appellé qu'a l'init pour l'admin uniquement
     */
    public void addAllMorceau(){
        Utilisateur u = getUserByLogin("admin");
        System.out.println(u);
        Query q = em.createQuery("select u from Morceau u");
        Collection<Morceau> listMorceau = q.getResultList();
        for(Morceau m : listMorceau){
            u.addMorceau(m);
        }
        em.merge(u);
    }
}
TOP

Related Classes of utilisateurs.gestionnaires.GestionnaireUtilisateurs

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.