package DAO;
import Controle.ControleSessaoUsuario;
import Entidade.Unidade;
import Entidade.Usuario;
import Util.Criptografia;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
public class UsuarioDAO {
ControleSessaoUsuario cUsuario = new ControleSessaoUsuario();
public List<Usuario> listarUsuarios() {
Session session = HibernateUtil.getSessionFactory().openSession();
List<Usuario> usuarios = null;
try {
usuarios = session.getNamedQuery("Usuario.findAll").list();
} catch (Exception e) {
e.printStackTrace();
}
session.close();
return usuarios;
}
public List<Usuario> listarUsuariosPorUnidade(Unidade unidade) {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query lista = session.createQuery("FROM Usuario WHERE uniCodigo = :codUnidade");
lista.setInteger("codUnidade", unidade.getUniCodigo());
List<Usuario> list = (List<Usuario>) lista.list();
//List list = lista.list();
session.getTransaction().commit();
session.close();
return list;
}
public void salvar(Usuario usuario){
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
usuario.setUsuDscSenha(Criptografia.md5(usuario.getUsuDscSenha()));
session.save(usuario);
session.getTransaction().commit();
session.close();
}
public Usuario consultarLoginESenha(Usuario usuario){
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query select = session.createQuery("FROM Usuario WHERE usuDscLogin = :log AND usuDscSenha = :sen");
select.setString("log", usuario.getUsuDscLogin());
select.setString("sen", Criptografia.md5(usuario.getUsuDscSenha()));
Usuario resultado = (Usuario) select.uniqueResult();
session.getTransaction().commit();
session.close();
if (resultado != null) {
return resultado;
}
else {
return null;
}
}
public void AtualizarUsuario(Usuario usuario){
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
session.update(usuario);
session.getTransaction().commit();
session.close();
}
}