com.siacra.beans.ProyectoBean.java Source code

Java tutorial

Introduction

Here is the source code for com.siacra.beans.ProyectoBean.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 com.siacra.beans;

import com.siacra.models.Escuela;
import com.siacra.models.Responsabilidad;
import com.siacra.models.Proyecto;
import com.siacra.services.EscuelaService;
import com.siacra.services.ResponsabilidadService;
import com.siacra.services.ProyectoService;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import org.springframework.dao.DataAccessException;

/**
 *
 * @author SIACRA Development Team
 * @since 19/08/2015
 * @version 1.0.0
 */
@ManagedBean(name = "proyectoBean")
@ViewScoped
public class ProyectoBean implements Serializable {

    @ManagedProperty(value = "#{ProyectoService}")
    private ProyectoService proyectoService;

    @ManagedProperty(value = "#{ResponsabilidadService}")
    private ResponsabilidadService responsabilidadService;

    @ManagedProperty(value = "#{EscuelaService}")
    private EscuelaService escuelaService;

    private List<Proyecto> proyectoList;

    private final ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    private final Map<String, Object> sessionMap = externalContext.getSessionMap();
    private final Integer id_escuela = (Integer) sessionMap.get("sessionIdEscuela");

    private int idproyecto;
    private int idresponsabilidad;
    private int idescuela;
    private Date fechainicio;
    private Date fechafin;
    private String estadoproyecto;
    private String nombreproyecto;
    private String observacion;
    private String descripcion;
    private boolean insert;

    public void addProyecto() {
        try {
            Proyecto proyecto = new Proyecto();
            Escuela escuela = getEscuelaService().getEscuelaById(getIdEscuela());
            proyecto.setResponsabilidad(null);
            proyecto.setEscuela(escuela);
            proyecto.setFechainicio(fechainicio);
            proyecto.setFechafin(fechafin);
            proyecto.setNombreproyecto(nombreproyecto);
            proyecto.setObservacion(observacion);
            proyecto.setDescripcion(descripcion);
            proyecto.setEstadoproyecto(estadoproyecto);
            proyecto.setAprobarproyecto(false);
            getProyectoService().addProyecto(proyecto);
            this.setInsert(false);
            reset();
            addMessage("El proyecto fue aadido correctamente");
            refreshProyectos();
        } catch (DataAccessException e) {
            e.printStackTrace();
        }
    }

    public void reset() {
        this.fechainicio = null;
        this.fechafin = null;
        this.estadoproyecto = "";
        this.nombreproyecto = "";
        this.observacion = "";
        this.descripcion = "";
    }

    public void loadProyecto(Proyecto proyecto) {
        try {
            Responsabilidad responsabilidad = getResponsabilidadService()
                    .getResponsabilidadById(proyecto.getResponsabilidad().getIdresponsabilidad());
            setIdresponsabilidad(responsabilidad.getIdresponsabilidad());
        } catch (NullPointerException e) {
            e.printStackTrace();
        }
        setIdEscuela(proyecto.getEscuela().getIdescuela());
        setIdproyecto(proyecto.getIdproyecto());
        setNombreproyecto(proyecto.getNombreproyecto());
        setObservacion(proyecto.getObservacion());
        setDescripcion(proyecto.getDescripcion());
        setFechainicio(proyecto.getFechainicio());
        setFechafin(proyecto.getFechafin());
        setEstadoproyecto(proyecto.getEstadoproyecto());

    }

    public void updateProyecto() {
        try {
            Proyecto proyecto = getProyectoService().getProyectoById(this.getIdproyecto());
            try {
                Responsabilidad responsabilidad = getResponsabilidadService()
                        .getResponsabilidadById(proyecto.getResponsabilidad().getIdresponsabilidad());
                proyecto.setResponsabilidad(responsabilidad);
            } catch (NullPointerException e) {
                e.printStackTrace();
            }
            proyecto.setFechainicio(getFechainicio());
            proyecto.setFechafin(getFechafin());
            proyecto.setEstadoproyecto(getEstadoproyecto());
            proyecto.setNombreproyecto(getNombreproyecto());
            proyecto.setObservacion(getObservacion());
            proyecto.setDescripcion(getDescripcion());
            getProyectoService().updateProyecto(proyecto);
            addMessage("El proyecto fue actualizado correctamente");
            refreshProyectos();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void finalizarProyecto() {
        try {
            Proyecto proyecto = getProyectoService().getProyectoById(this.getIdproyecto());
            proyecto.setEstadoproyecto("Finalizado");
            getProyectoService().updateProyecto(proyecto);
            addMessage("El estado del proyecto fue actualizado a finalizado correctamente");
            refreshProyectos();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void approveProyecto() {
        try {
            Proyecto proyecto = getProyectoService().getProyectoById(this.getIdproyecto());
            proyecto.setAprobarproyecto(true);
            getProyectoService().updateProyecto(proyecto);
            addMessage("El proyecto fue aprobado correctamente");
            refreshProyectos();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void refreshProyectos() {
        this.setProyectoList(getProyectoService().getProyectosByEscuela(id_escuela));
    }

    public ProyectoService getProyectoService() {
        return proyectoService;
    }

    public void setProyectoService(ProyectoService proyectoService) {
        this.proyectoService = proyectoService;
    }

    public ResponsabilidadService getResponsabilidadService() {
        return responsabilidadService;
    }

    public void setResponsabilidadService(ResponsabilidadService responsabilidadService) {
        this.responsabilidadService = responsabilidadService;
    }

    /**
     * @return the escuelaService
     */
    public EscuelaService getEscuelaService() {
        return escuelaService;
    }

    /**
     * @param escuelaService the escuelaService to set
     */
    public void setEscuelaService(EscuelaService escuelaService) {
        this.escuelaService = escuelaService;
    }

    public List<Proyecto> getProyectoList() {
        proyectoList = new ArrayList<>();
        proyectoList.addAll(getProyectoService().getProyectosByEscuela(id_escuela));
        return proyectoList;
    }

    public void setProyectoList(List<Proyecto> proyectoList) {
        this.proyectoList = proyectoList;
    }

    public int getIdproyecto() {
        return idproyecto;
    }

    public void setIdproyecto(int idproyecto) {
        this.idproyecto = idproyecto;
    }

    public int getIdresponsabilidad() {
        return idresponsabilidad;
    }

    public void setIdresponsabilidad(int idresponsabilidad) {
        this.idresponsabilidad = idresponsabilidad;
    }

    /**
    * @return the idescuela
    */
    public int getIdEscuela() {
        return idescuela;
    }

    /**
     * @param idescuela the idescuela to set
     */
    public void setIdEscuela(int idescuela) {
        this.idescuela = idescuela;
    }

    public Date getFechainicio() {
        return fechainicio;
    }

    public void setFechainicio(Date fechainicio) {
        this.fechainicio = fechainicio;
    }

    public Date getFechafin() {
        return fechafin;
    }

    public void setFechafin(Date fechafin) {
        this.fechafin = fechafin;
    }

    public String getEstadoproyecto() {
        return estadoproyecto;
    }

    public void setEstadoproyecto(String estadoproyecto) {
        this.estadoproyecto = estadoproyecto;
    }

    public String getNombreproyecto() {
        return nombreproyecto;
    }

    public void setNombreproyecto(String nombreproyecto) {
        this.nombreproyecto = nombreproyecto;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public boolean getInsert() {
        return insert;
    }

    public void setInsert(boolean insert) {
        this.insert = insert;
    }

    public void addMessage(String mensaje) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, mensaje, null);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

}