package cl.im.ciclos.bean;

import cl.im.ciclos.controller.CriterioCnaController;
import cl.im.ciclos.controller.UnidadTrabajoController;
import cl.im.ciclos.modelo.CriterioCna;
import cl.im.ciclos.modelo.UnidadTrabajo;
import sun.security.ssl.Debug;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import java.io.IOException;
import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * User: Ismael
 * Date: 29-10-13
 * Time: 05:32 PM
 * To change this template use File | Settings | File Templates.
 */
@ManagedBean(name = "cnaEditar")
@ViewScoped
public class cnaEditarBean {

    private CriterioCna criterioCna;
    private CriterioCna temp;
    private CriterioCnaController controller;
    private UnidadTrabajoController unidadTrabajoController;

    @PostConstruct
    public void init(){
        controller= new CriterioCnaController();
        unidadTrabajoController= new UnidadTrabajoController();
        FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();
        Map<String, String> parameterMap = (Map<String, String>) externalContext.getRequestParameterMap();
        criterioCna= controller.find(Long.valueOf(parameterMap.get("id_criterioCna")));
        temp= new CriterioCna();
        temp.setCriterio(criterioCna.getCriterio());
    }

    public void updateCriterio(){
        List<CriterioCna> criteriosCna = controller.getPorCriterio(temp.getCriterio());

        for(CriterioCna c: criteriosCna){
            c.setCriterio(criterioCna.getCriterio());
        }
        for(CriterioCna c: criteriosCna){
            controller.save(c);
        }
        String url="/sistema.ciclos.calidad/modulos/administracion/input/cna.jsf"; //url donde se redirige la pantalla
        FacesContext fc=FacesContext.getCurrentInstance();
        try {
            fc.getExternalContext().redirect(url);//redirecciona la página
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }


    public CriterioCna getCriterioCna() {
        return criterioCna;
    }

    public void setCriterioCna(CriterioCna criterioCna) {
        this.criterioCna = criterioCna;
    }
}
