package Controle;
import DAO.EstrategiasDao;
import DAO.ItemPainelDeBordoDao;
import Entidade.Estrategias;
import Entidade.ItemPainelDeBordo;
import Entidade.Usuario;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.primefaces.event.SelectEvent;
@ManagedBean
@ViewScoped
public class ControleItemPainelDeBordo implements Serializable{
ItemPainelDeBordo ipdb = new ItemPainelDeBordo();
ItemPainelDeBordo ipdbSelecionado;
private Estrategias estrategia;
private List<Estrategias> estrategias;
private List<ItemPainelDeBordo> itens;
private List<ItemPainelDeBordo> itensPorAno;
ItemPainelDeBordo ipbAno = new ItemPainelDeBordo();
@PostConstruct
public void init() {
estrategia = new Estrategias();
estrategias = new ArrayList<Estrategias>();
itens = getItemPainelDeBordo();
}
public ItemPainelDeBordo getIpdbSelecionado() {
return ipdbSelecionado;
}
public void setIpdbSelecionado(ItemPainelDeBordo ipdbSelecionado) {
this.ipdbSelecionado = ipdbSelecionado;
}
public ItemPainelDeBordo getIpdb() {
return ipdb;
}
public void setIpdb(ItemPainelDeBordo ipdb) {
this.ipdb = ipdb;
}
public ItemPainelDeBordo getIpbAno() {
return ipbAno;
}
public void setIpbAno(ItemPainelDeBordo ipbAno) {
this.ipbAno = ipbAno;
}
public void insereItemPainelDeBordo() {
Date data = new Date();
Usuario user = new Usuario();
user.setUsuCodigo(1);
this.ipdb.setUsuCodCriador(user);
this.ipdb.setIpbDtCriacao(data);
ItemPainelDeBordoDao pdbDao = new ItemPainelDeBordoDao();
pdbDao.salvar(this.ipdb);
for (Estrategias elemento : this.estrategias) {
elemento.setIpbCodigo(this.ipdb);
}
insereEstrategias();
FacesMessage msg = new FacesMessage("Item adicionado ao painel de bordo!", "");
FacesContext.getCurrentInstance().addMessage("", msg);
}
public Estrategias getEstrategia() {
return estrategia;
}
public void setEstrategia(Estrategias estrategia) {
this.estrategia = estrategia;
}
public List<Estrategias> getEstrategias() {
return estrategias;
}
public void setEstrategias(List<Estrategias> estrategias) {
this.estrategias = estrategias;
}
public void addEstrategias() {
List<Estrategias> listaEstrategias = new ArrayList<Estrategias>();
listaEstrategias = getEstrategias();
Estrategias est = new Estrategias();
est = estrategia;
listaEstrategias.add(est);
estrategia = new Estrategias();
setEstrategias(listaEstrategias);
}
public void insereEstrategias() {
EstrategiasDao estDao = new EstrategiasDao();
for (Estrategias elemento : this.estrategias) {
estDao.salvar(elemento);
}
}
public List<ItemPainelDeBordo> carregarGrid() {
itensPorAno = new ItemPainelDeBordoDao().listarPainelDeBordoAno(ipbAno.getIpdbNumAnobase());
return itensPorAno;
}
public List<ItemPainelDeBordo> getItemPainelDeBordo() {
itens = new ItemPainelDeBordoDao().listarPainelDeBordo();
return itens;
}
public List<ItemPainelDeBordo> getItens() {
return itens;
}
public void setItens(List<ItemPainelDeBordo> itens) {
this.itens = itens;
}
public List<ItemPainelDeBordo> getItensPorAno() {
return itensPorAno;
}
public void setItensPorAno(List<ItemPainelDeBordo> itensPorAno) {
this.itensPorAno = itensPorAno;
}
public List<ItemPainelDeBordo> getListaAnos(){
List<ItemPainelDeBordo> lista = new ItemPainelDeBordoDao().listarAnoBase();
return lista;
}
}