modelo.dao.GestionUsuariosImpl.java Source code

Java tutorial

Introduction

Here is the source code for modelo.dao.GestionUsuariosImpl.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo.dao;

import entidades.Categoria;
import entidades.Color;
import entidades.Usuario;
import java.io.Serializable;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

/**
 *
 * @author -
 */
@Component
public class GestionUsuariosImpl implements GestionUsuarios, Serializable {
    @PersistenceContext(unitName = "almacenstockPU")
    EntityManager em;

    @Override
    public List<Usuario> obtenerUsuario(String nombre) {
        return em.createNamedQuery("Usuario.findByNombre").setParameter(1, nombre).getResultList();
    }

    @Override
    public List<Usuario> obtenerUsuario(String nombre, String contrasena) {
        Query q = em.createNamedQuery("Usuario.findByNombreContrasena");
        q.setParameter(1, nombre);
        q.setParameter(2, contrasena);
        return q.getResultList();
    }

    @Override
    public List<Usuario> obtenerUsuarioEmail(String email) {
        return em.createNamedQuery("Usuario.findByEmail").setParameter(1, email).getResultList();
    }

    @Override
    @Transactional
    public void guardarUsuario(Usuario user) {
        em.merge(user);
    }

    @Override
    @Transactional
    public void guardarColor(Color color) {
        em.merge(color);
    }

    @Override
    @Transactional
    public void guardarCategoria(Categoria categoria) {
        em.merge(categoria);
    }

    @Override
    @Transactional
    public void eliminarColor(Color color) {
        color = em.find(Color.class, color.getId());
        em.remove(color);
    }

    @Override
    @Transactional
    public void eliminarCategoria(Categoria categoria) {
        categoria = em.find(Categoria.class, categoria.getId());
        em.remove(categoria);
    }

    @Override
    public List<Categoria> obtenerCategorias(int user) {
        return em.createNamedQuery("Categoria.findByUser").setParameter(1, user).getResultList();
    }

    @Override
    public Categoria obtenerCategoria(int id) {
        return em.find(Categoria.class, id);
    }

    @Override
    public Color obtenerColor(int id) {
        return em.find(Color.class, id);
    }

    @Override
    public List<Color> obtenerColores(int user) {
        return em.createNamedQuery("Color.findByUser").setParameter(1, user).getResultList();
    }
}