Package dao

Source Code of dao.AsignaturaJPADAO

package dao;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

import entidades.Asignatura;
import entidades.Grados;
import entidades.Seccionprogramada;

public class AsignaturaJPADAO implements AsignaturaDAO{
 
  private EntityManagerFactory emf;
  private EntityManager em;
 
  public void setEntityManagerFactory(EntityManagerFactory emf){
    this.emf = emf;
  }
 
 
  @SuppressWarnings("rawtypes")
  public ArrayList<Asignatura> obtenerTodos() throws Exception{
   
    em = emf.createEntityManager();
   
    ArrayList<Asignatura> asignaturas = new ArrayList<Asignatura>();
   
    List lista = em.createQuery("SELECT a FROM Asignatura a where a.strEstado = 'Habilitado'").getResultList();
   
    if (lista.size()>0) {
      for (int i = 0; i < lista.size(); i++) {
        asignaturas.add((Asignatura)lista.get(i));
      }
    }
   
    for (Asignatura x : asignaturas) {
      if(x.getIntGrado() > 0 && x.getIntGrado() <=6){
        x.setStrNivel("Primario");
      }else{
        x.setStrNivel("Secundario");
      }
    }
   
    return asignaturas;
   
  }
 
  public ArrayList<Grados> obtenerGradoPrimaria() throws Exception {
   
    ArrayList<Grados> gradosPrimaria = new ArrayList<Grados>();
   
    for (int i = 1; i < 7; i++) {
      Grados objGrado =  new Grados();
     
      objGrado.setId(i);
      objGrado.setValor(i + "�");
     
      gradosPrimaria.add(objGrado);
    }
   
    return gradosPrimaria;
   
  }
 
    public ArrayList<Grados> obtenerGradoSecundaria() throws Exception {
   
    ArrayList<Grados> gradosSecundaria = new ArrayList<Grados>();
   
    for (int i = 7; i < 12; i++) {
      Grados objGrado =  new Grados();
     
      objGrado.setId(i);
      objGrado.setValor(i + "�");
     
      gradosSecundaria.add(objGrado);
    }
   
    return gradosSecundaria;
   
  }
 
 
  public void actualizar(Asignatura asignatura) throws Exception{
   
    System.out.println(asignatura.getIntCodigoAsignatura());
    System.out.println(asignatura.getStrNombreAsignatura());
   
    em = emf.createEntityManager();
   
    em.getTransaction().begin();
   
    Asignatura entidadAsignatura = em.find(Asignatura.class, asignatura.getIntCodigoAsignatura());
   
    entidadAsignatura.setStrNombreAsignatura(asignatura.getStrNombreAsignatura());
    entidadAsignatura.setIntGrado(asignatura.getIntGrado());
   
    em.merge(entidadAsignatura);
    em.flush();
   
    em.getTransaction().commit();
    em.close();
  }
 
  public Asignatura obtenerAsignatura(Asignatura asignatura) throws Exception {
   
    em = emf.createEntityManager();
   
    Asignatura entidadAsignatura = (Asignatura)em.find(Asignatura.class,asignatura.getIntCodigoAsignatura());
 
    return entidadAsignatura;
  }
 
  @SuppressWarnings("rawtypes")
  public Asignatura consultarAsignatura(Asignatura asignatura) throws Exception {
   
    em=emf.createEntityManager();
    /*Query q =  em.createQuery("SELECT a FROM Asignatura a WHERE a.strNombreAsignatura=?1 and a.intGrado=?2");
    q.setParameter(1, asignatura.getStrNombreAsignatura());
    q.setParameter(2, asignatura.getIntGrado());
    */
   
    ArrayList<Asignatura> asignaturas = new ArrayList<Asignatura>();
   
    Asignatura entidadAsignatura = new Asignatura();
   
    Query q =  em.createQuery("SELECT a FROM Asignatura a WHERE a.intGrado=?1");
    q.setParameter(1, asignatura.getIntGrado());
   
    List lista = q.getResultList();
   
    if (lista.size()>0) {
      for (int i = 0; i < lista.size(); i++) {
        asignaturas.add((Asignatura)lista.get(i));
      }
    }else{
      entidadAsignatura = null;
    }
   
      if (asignaturas.size()>0) {
       
        String nombreAsignaturaNuevo = "";
      nombreAsignaturaNuevo = (((((((asignatura.getStrNombreAsignatura().replace("�", "a")).replace("�", "e")).replace("�", "i")).replace("�", "o")).replace("�", "u")).replace("�", "n")).replace(" ", "")).toLowerCase();
     
      for (Asignatura x : asignaturas) {
        String nombreAsignaturaActual = "";
       
        nombreAsignaturaActual =  (((((((x.getStrNombreAsignatura().replace("�", "a")).replace("�", "e")).replace("�", "i")).replace("�", "o")).replace("�", "u")).replace("�", "n")).replace(" ", "")).toLowerCase();
       
        if(nombreAsignaturaNuevo.equalsIgnoreCase(nombreAsignaturaActual)){
          entidadAsignatura.setIntCodigoAsignatura(x.getIntCodigoAsignatura());
          entidadAsignatura.setStrNombreAsignatura(x.getStrNombreAsignatura());
          entidadAsignatura.setStrEstado(x.getStrEstado());
          entidadAsignatura.setIntGrado(x.getIntGrado());
         
          return entidadAsignatura;
        }
      }
     
      entidadAsignatura = null;
    }
    return entidadAsignatura;

  }
 
  public void insertar(Asignatura asignatura) throws Exception {
   
    em = emf.createEntityManager();
   
    em.getTransaction().begin();
   
    asignatura.setStrEstado("Habilitado");
   
    em.persist(asignatura);
    em.flush();
   
    em.getTransaction().commit();
    em.close();
   
  }
 
  public void inhabilitar(Asignatura asignatura) throws Exception {
   
    em = emf.createEntityManager();
   
    em.getTransaction().begin();
   
    Asignatura entidadAsignatura = em.find(Asignatura.class, asignatura.getIntCodigoAsignatura());
   
    entidadAsignatura.setStrNombreAsignatura(asignatura.getStrNombreAsignatura());
    entidadAsignatura.setStrEstado("Deshabilitado");
   
    em.merge(entidadAsignatura);
    em.flush();
   
    em.getTransaction().commit();
    em.close();
  }
 
 
  @SuppressWarnings("rawtypes")
  public ArrayList<Asignatura> obtenerAsignaturasXGrado(Seccionprogramada seccion) throws Exception{
   
    em = emf.createEntityManager();
   
    ArrayList<Asignatura> asignaturas = new ArrayList<Asignatura>();
   
    Query q = em.createQuery("SELECT a FROM Asignatura a " +
                            "WHERE a.intGrado=?1 " +
                            "AND a.strEstado = 'Habilitado'");
    q.setParameter(1, seccion.getIntGrado());
    List lista = q.getResultList();
   
    if (lista.size()>0) {
      for (int i = 0; i < lista.size(); i++) {
        asignaturas.add((Asignatura)lista.get(i));
      }
    }
   
    return asignaturas;
   
  }
 
@SuppressWarnings("rawtypes")
public ArrayList<Asignatura> obtenerAsignaturasXGradoRetiro(Seccionprogramada seccion) throws Exception{
   
    em = emf.createEntityManager();
   
    ArrayList<Asignatura> asignaturas = new ArrayList<Asignatura>();
   
    Query q = em.createQuery("SELECT a FROM Asignatura a " +
                            "WHERE a.intGrado=?1 " +
                            "AND a.strEstado = 'Habilitado' " +
                            "AND (a.strNombreAsignatura = 'Educaci�n F�sica' OR a.strNombreAsignatura = 'Religi�n')");
    q.setParameter(1, seccion.getIntGrado());
    List lista = q.getResultList();
   
    if (lista.size()>0) {
      for (int i = 0; i < lista.size(); i++) {
        asignaturas.add((Asignatura)lista.get(i));
      }
    }
   
    return asignaturas;
   
  }
}
TOP

Related Classes of dao.AsignaturaJPADAO

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.