edu.eci.pdsw.samples.managedbeans.EstudianteBean.java Source code

Java tutorial

Introduction

Here is the source code for edu.eci.pdsw.samples.managedbeans.EstudianteBean.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 edu.eci.pdsw.samples.managedbeans;

import edu.eci.pdsw.samples.entities.CorreoPersonal;
import edu.eci.pdsw.samples.entities.Estudiante;
import edu.eci.pdsw.samples.entities.Image;
import edu.eci.pdsw.samples.entities.Solicitud;
import edu.eci.pdsw.samples.persistence.PersistenceException;
import edu.eci.pdsw.samples.services.Servicios;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.apache.commons.io.IOUtils;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;

/**
 *
 * @author Grupo 3 Pdsw
 */
@ManagedBean(name = "beanEstudiante")

@SessionScoped
public class EstudianteBean implements Serializable {

    private long numero_identificacion;
    private String tipo_identificacion;
    private int codigo;
    private String nombre;
    private int semestre = 8;
    private int telefono_fijo;
    private long celular = 0;
    private String direccion;
    private String carrera = "Ingenieria Civil";
    private int min = 8;
    private int max = 10;
    private String correo;
    private String enter;
    private String email_institucional;
    private String base = "applicationconfig.properties";
    private String genero;
    private String apellido;

    private Image ima;
    private UploadedFile file;

    public UploadedFile getFile() {
        return file;
    }

    public void setFile(UploadedFile file) {
        this.file = file;
    }

    public void handleFileUpload(FileUploadEvent event) throws IOException {
        file = event.getFile();
        byte[] img = IOUtils.toByteArray(file.getInputstream());
        this.ima = new Image(img, String.valueOf(numero_identificacion));
        if (img != null) {
            facesMessage("Foto Exitosamente Cargada");
        } else {
            facesMessage("Cargue de nuevo la foto");
        }
    }

    private void facesMessage(String message) {
        FacesContext.getCurrentInstance().addMessage(null,
                new FacesMessage(FacesMessage.SEVERITY_INFO, message, null));
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public String getGenero() {
        return genero;
    }

    public void setGenero(String genero) {
        this.genero = genero;
    }

    public int getMin() {
        if (carrera.equals("Matematicas") | carrera.equals("Administracion") | carrera.equals("Economia")
                | carrera.equals("Ingenieria Biomedica")) {
            this.min = 7;
        } else {
            this.min = 8;
        }
        return this.min;
    }

    public void setMin(int min) {
        this.min = min;
    }

    public int getMax() {
        if (carrera.equals("Matematicas") | carrera.equals("Administracion") | carrera.equals("Economia")
                | carrera.equals("Ingenieria Biomedica")) {
            this.max = 9;
        } else {
            this.max = 10;
        }
        return this.max;
    }

    public void setMax(int max) {
        this.max = max;
    }

    public String getEnter() {
        return enter;
    }

    public void setEnter(String enter) {
        this.enter = enter;
    }

    public int getDocumento() {
        return documento;
    }

    public void setDocumento(int documento) {
        this.documento = documento;
    }

    private int documento;

    public int getTelefono_fijo() {
        return telefono_fijo;
    }

    public long getCelular() {
        return celular;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public long getNumero_identificacion() {
        return numero_identificacion;
    }

    public void setNumero_identificacion(long numero_identificacion) {
        this.numero_identificacion = numero_identificacion;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getSemestre() {
        return semestre;
    }

    public void setSemestre(int semestre) {
        this.semestre = semestre;
    }

    public String getTipo_identificacion() {
        return tipo_identificacion;
    }

    public void setTipo_identificacion(String tipo_identificacion) {
        this.tipo_identificacion = tipo_identificacion;
    }

    public String getCarrera() {
        return carrera;
    }

    public void setCarrera(String carrera) {
        this.carrera = carrera;
    }

    public void setTelefono_fijo(int telefono_fijo) {
        this.telefono_fijo = telefono_fijo;
    }

    public void setCelular(long celular) {
        this.celular = celular;
    }

    /**
     * Metodo enviarSolicitudEstudiante
     */
    public void enviarSolicitud() {
        if (this.direccion.equals("")) {
            this.direccion = "No Disponible";
        }
        CorreoPersonal cp = new CorreoPersonal(correo, numero_identificacion, tipo_identificacion);
        CorreoPersonal cp2 = new CorreoPersonal(email_institucional, numero_identificacion, tipo_identificacion);
        List<CorreoPersonal> lisc = new ArrayList<>();
        lisc.add(cp);
        lisc.add(cp2);
        Estudiante est = new Estudiante(genero, apellido, codigo, numero_identificacion, nombre, semestre,
                tipo_identificacion, carrera, telefono_fijo, celular, lisc, direccion, ima.getName());
        Date fecha = new java.sql.Date(java.util.Calendar.getInstance().getTime().getTime());
        Solicitud sol = new Solicitud((java.sql.Date) fecha, (int) est.getNumero_identificacion(),
                est.getTipo_identificacion(), "Estudiante", "Pend");
        try {
            Estudiante e = Servicios.getInstance(base).consultarEstudiante(numero_identificacion,
                    tipo_identificacion);
            if (e != null) {
                facesMessage("Ya existe una solicitud con el numero de identificacin ingresado");

            } else {
                try {
                    Servicios.getInstance(base).enviarSolicitudEstudiante(est, sol);
                    Servicios.getInstance(base).saveImage(ima);
                    this.carrera = "";
                    this.celular = 0;
                    this.codigo = 0;
                    this.correo = "";
                    this.direccion = "";
                    this.nombre = "";
                    this.numero_identificacion = 0;
                    this.telefono_fijo = 0;
                    this.carrera = "Ingenieria Civil";

                    FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true);
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
                            "Su Solicitud Ha Sido Enviada Correctamente, Pronto Llegar un Mensaje a su Correo Indicndole los pasos a seguir",
                            null));
                    FacesContext.getCurrentInstance().getExternalContext().redirect("index.xhtml");

                } catch (PersistenceException ex) {
                    facesMessage(ex.getMessage());
                } catch (IOException ex) {
                    facesMessage(ex.getMessage());
                }
            }
        } catch (PersistenceException ex) {
            facesMessage("Ocurri un error al consultar la base de datos, por favor intntelo nuevamente");
        }

    }

    public String getEmail_institucional() {
        return email_institucional;
    }

    public void setEmail_institucional(String email_institucional) {
        this.email_institucional = email_institucional;
    }

}