com.siacra.beans.CicloBean.java Source code

Java tutorial

Introduction

Here is the source code for com.siacra.beans.CicloBean.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.Ciclo;
import com.siacra.services.CicloService;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.springframework.dao.DataAccessException;

/**
 *
 * @author Daniel
 */
@ManagedBean(name = "cicloBean")
@ViewScoped
public class CicloBean implements Serializable {

    @ManagedProperty(value = "#{CicloService}")
    private CicloService cicloService;

    Integer idCiclo;
    String ciclo;
    Integer anio;
    boolean ciEstado;
    private List<Ciclo> cicloList;
    private List<Ciclo> cicloActivoList;
    private List<Ciclo> aniosList;

    private boolean insert;

    public CicloService getCicloService() {
        return cicloService;
    }

    public void setCicloService(CicloService cicloService) {
        this.cicloService = cicloService;
    }

    public Integer getIdCiclo() {
        return idCiclo;
    }

    public void setIdCiclo(Integer idCiclo) {
        this.idCiclo = idCiclo;
    }

    public String getCiclo() {
        return ciclo;
    }

    public void setCiclo(String ciclo) {
        this.ciclo = ciclo;
    }

    public Integer getAnio() {
        return anio;
    }

    public void setAnio(Integer anio) {
        this.anio = anio;
    }

    public boolean getCiEstado() {
        return ciEstado;
    }

    public void setCiEstado(boolean ciEstado) {
        this.ciEstado = ciEstado;
    }

    public boolean getInsert() {
        return insert;
    }

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

    public List<Ciclo> getCicloList() {
        cicloList = new ArrayList<>();
        cicloList.addAll(getCicloService().getCiclos());
        return cicloList;
    }

    public void setCicloList(List<Ciclo> cicloList) {
        this.cicloList = cicloList;
    }

    public List<Ciclo> getAniosList() {
        aniosList = new ArrayList<>();
        aniosList.addAll(getCicloService().getAnios());
        return aniosList;
    }

    public void setAniosList(List<Ciclo> aniosList) {
        this.aniosList = aniosList;
    }

    public List<Ciclo> getCicloActivoList() {
        cicloList = new ArrayList<>();
        cicloList.addAll(getCicloService().getCiclosActivos());
        return cicloActivoList;
    }

    public void setCicloActivoList(List<Ciclo> cicloActivoList) {
        this.cicloActivoList = cicloActivoList;
    }

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

    //reset a las variables
    public void reset() {
        this.ciclo = "";
        this.anio = null;

    }

    //Invocamos metodos de agregacion y agregamos parametros obtenidos de la vista
    public void addCiclo() {

        try {
            Ciclo cicloN = new Ciclo();
            cicloN.setCiclo(getCiclo());
            cicloN.setAnio(getAnio());
            cicloN.setCiEstado(false);

            //Consultamos si el tipo grupo existe o no
            if (getCicloService().getExistCiclo(getCiclo(), getAnio())) {
                addMessage("El Ciclo : " + getCiclo() + " para el ao : " + getAnio() + " ya existe");
            } else {
                getCicloService().addCiclo(cicloN);

                addMessage("El Ciclo :" + getCiclo() + " para el ao : " + getAnio() + " fue creado exitosamente");
                setInsert(false);
            }
        } catch (DataAccessException e) {
            e.printStackTrace();
        }
    }

    //Actualizar el tipo de grupo
    public void updateCiclo() {
        try {

            Ciclo cicloNew = getCicloService().getCicloById(getIdCiclo());
            cicloNew.setCiclo(getCiclo());
            cicloNew.setAnio(getAnio());
            getCicloService().updateCiclo(cicloNew);
            addMessage("El tipo ciclo : " + getCiclo() + " para el ao : " + getAnio()
                    + " fue modificado exitosamente");

        } catch (DataAccessException e) {
            e.printStackTrace();
        }
    }

    //Eliminamos el tipo de grupo
    public void deleteCiclo() {
        try {
            Ciclo cicloOff = getCicloService().getCicloById(getIdCiclo());

            if (cicloOff.getOferta().isEmpty()) {
                getCicloService().deleteCiclo(cicloOff);
                addMessage("El ciclo : " + cicloOff.getCiclo() + " - " + cicloOff.getAnio()
                        + " fue eliminado correctamente");
            } else {
                cicloOff.setCiEstado(false);
                getCicloService().updateCiclo(cicloOff);
                addMessage("El ciclo : " + cicloOff.getCiclo() + " - " + cicloOff.getAnio()
                        + " fue dado de baja correctamente");
            }

        } catch (DataAccessException e) {
            e.printStackTrace();
            addMessage("El ciclo no puede ser eliminado debido a que tiene registros relacionados");
        }
    }

    public void loadCiclo(Ciclo cicloLoad) {
        setIdCiclo(cicloLoad.getIdCiclo());
        setCiclo(cicloLoad.getCiclo());
        setAnio(cicloLoad.getAnio());
        setCiEstado(cicloLoad.getCiEstado());
    }

    public void lockedCiclo() {

        try {
            Ciclo ciclo = getCicloService().getCicloById(getIdCiclo());
            String cicloBloqueado = ciclo.getCiclo();
            String anio = Integer.toString(ciclo.getAnio());
            ciclo.setCiEstado(false);
            addMessage("El ciclo " + cicloBloqueado + " del ao " + anio + " fue inhabilitado correctamente");
            getCicloService().updateCiclo(ciclo);
        } catch (DataAccessException e) {
            e.printStackTrace();
        }
    }

    public void unlockedCiclo() {

        try {
            Ciclo ciclo = getCicloService().getCicloById(getIdCiclo());
            String cicloBloqueado = ciclo.getCiclo();
            String anio = Integer.toString(ciclo.getAnio());
            if (getCicloService().getCiclosActivos().isEmpty()) {
                ciclo.setCiEstado(true);
                addMessage("El ciclo " + cicloBloqueado + " del ao " + anio + " fue habilitado correctamente");
                getCicloService().updateCiclo(ciclo);
            } else {
                addMessage("No se puede habilitar el ciclo. Solo puede existir un ciclo activo");
            }

        } catch (DataAccessException e) {
            e.printStackTrace();
        }
    }

}