/* * This file is part of SGEA - Sistema de Gestão de Eventos Acadêmicos - TADS IFNMG Campus Januária. * * SGEA is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * SGEA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with SGEA. If not, see <http://www.gnu.org/licenses/>. */ package br.edu.ifnmg.GerenciamentoEventos.Apresentacao; import br.edu.ifnmg.GerenciamentoEventos.DomainModel.Questao; import br.edu.ifnmg.GerenciamentoEventos.DomainModel.QuestaoTipo; import br.edu.ifnmg.GerenciamentoEventos.DomainModel.Questionario; import br.edu.ifnmg.GerenciamentoEventos.DomainModel.QuestionarioSecao; import br.edu.ifnmg.GerenciamentoEventos.DomainModel.Servicos.QuestionarioRepositorio; import br.edu.ifnmg.GerenciamentoEventos.Aplicacao.ControllerBaseEntidade; import javax.inject.Named; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.ejb.EJB; import javax.enterprise.context.RequestScoped; /** * * @author petronio */ @Named(value = "questionarioController") @RequestScoped public class QuestionarioController extends ControllerBaseEntidade<Questionario> implements Serializable { /** * Creates a new instance of ClienteBean */ public QuestionarioController() { } @EJB QuestionarioRepositorio dao; QuestionarioSecao secao; Questao questao; @PostConstruct public void init() { setRepositorio(dao); setPaginaEdicao("editarQuestionario.xhtml"); setPaginaListagem("listagemQuestionarios.xtml"); questao = new Questao(); secao = new QuestionarioSecao(); } @Override public Questionario getFiltro() { if (filtro == null) { filtro = new Questionario(); filtro.setTitulo(getSessao("qstctrl_titulo")); } return filtro; } @Override public void setFiltro(Questionario filtro) { this.filtro = filtro; if(filtro != null) setSessao("qstctrl_titulo", filtro.getTitulo()); } @Override public void limpar() { setEntidade(new Questionario()); setQuestao(new Questao()); setSecao(new QuestionarioSecao()); } public void addSecao() { Refresh(); getEntidade().add(secao); SalvarAgregado(secao); novaSecao(); } private void novaSecao() { setSecao(new QuestionarioSecao()); if(entidade != null) getSecao().setOrdem(entidade.getSecoes().size()+1); } public void removeSecao() { Refresh(); getEntidade().remove(secao); RemoverAgregado(secao); novaSecao(); } public void addQuestao() { Refresh(); getEntidade().add(questao); SalvarAgregado(questao); novaQuestao(); } private void novaQuestao() { setQuestao(new Questao()); if(entidade != null) getQuestao().setOrdem(entidade.getQuestoes().size()+1); } public void editarQuestao() { Refresh(); getEntidade().remove(questao); dao.Salvar(entidade); } public void removeQuestao() { Refresh(); getEntidade().remove(questao); RemoverAgregado(questao); novaQuestao(); } public Questao getQuestao() { return questao; } public void setQuestao(Questao questao) { this.questao = questao; //setSecao(questao.getSecao()); //questao.get } public QuestionarioSecao getSecao() { return secao; } public void setSecao(QuestionarioSecao secao) { this.secao = secao; } public QuestaoTipo[] getTipos() { return QuestaoTipo.values(); } }