/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ec.gob.mcds.seguridades.dao;
import ec.gob.mcds.seguridades.generico.Generico;
import ec.gob.mcds.seguridades.model.Aplicacion;
import ec.gob.mcds.seguridades.model.Rol;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.faces.model.SelectItem;
import javax.persistence.Query;
/**
*
* @author christian
* @author wladdy
*/
@LocalBean
@Stateless
public class RolDao extends Generico<Rol> {
public RolDao() {
super(Rol.class);
}
/**
* método que devuelve todos los roles activos de seguridades.
*
* @throws Exception
* @return List
*/
public List<Rol> listarTodoActivo() throws Exception {
String jpaQl = "SELECT r FROM Rol r"
+ " WHERE r.estado = true";
Query query = getEntityManager().createQuery(jpaQl);
return query.getResultList();
}
/**
* método que devuelve todos los roles activos por aplicacion de seguridades.
*
* @param aplicacion
* @throws Exception
* @return List
*/
public List<Rol> listarPorAplicacion(Aplicacion aplicacion) throws Exception {
String jpaQl = "SELECT r FROM Rol r"
+ " WHERE r.aplicacion = :aplicacion AND r.estado = true";
Query query = getEntityManager().createQuery(jpaQl);
query.setParameter("aplicacion", aplicacion);
return query.getResultList();
}
/**
* método que devuelve todos los roles de seguridades.
*
* @throws Exception
* @return List
*/
public List<Rol> listarTodo() throws Exception {
String jpaQl = "SELECT p FROM Rol p"
+ " ORDER BY p.nombre";
Query query = getEntityManager().createQuery(jpaQl);
return query.getResultList();
}
public List<SelectItem> getComboRol(String idAplicacion) throws Exception {
List<SelectItem> listaDatos = new ArrayList<SelectItem>();
Aplicacion aplicacion = new Aplicacion(Long.valueOf(idAplicacion));
List<Rol> listaRol = listarPorAplicacion(aplicacion);
for (Rol i : listaRol) {
listaDatos.add(new SelectItem(i.getRolId(), i.getNombre()));
}
return listaDatos;
}
}