Baixe o app para aproveitar ainda mais
Prévia do material em texto
Abaixo vemos nosso Managed Bean ManagedBeanInscricao.java package managedbean; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.faces.event.AjaxBehaviorEvent; import javax.faces.model.SelectItem; import dao.DAOEvento; import dao.DAOInscricao; import dao.DAOPalestra; import dominio.Evento; import dominio.Inscricao; import dominio.Participante; import dominio.Palestra; @ManagedBean(name = "managedBeanInscricao") @SessionScoped public class ManagedBeanInscricao { private Integer idEvento; private List<SelectItem> eventos; private Integer idPalestra; private List<SelectItem> palestras; private Inscricao inscricao; private boolean formulario; public ManagedBeanInscricao() { preparaFormulario(); } private void preparaFormulario(){ inscricao = new Inscricao(); inscricao.setDataInscricao(new Date()); inscricao.setParticipante(new Participante()); palestras = new ArrayList<SelectItem>(); palestras.add(new SelectItem(null, "Selecione")); preparaEventos(); } private void preparaEventos() { List<Evento> temp = DAOEvento.getEventosValidos(); if (temp.isEmpty()) { FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_FATAL, "Não existem eventos com inscrições abertas!", null); FacesContext.getCurrentInstance().addMessage(null, fm); } else { eventos = new ArrayList<SelectItem>(); eventos.add(new SelectItem(null, "Selecione")); for (Evento e : temp) { eventos.add(new SelectItem(e.getId(), e.getDescricao())); } formulario = true; } } public void preparaPalestras(AjaxBehaviorEvent event) { if (idEvento > 0) { Set<Palestra> temp = DAOEvento.listaPalestrasEvento(idEvento); palestras = new ArrayList<SelectItem>(); palestras.add(new SelectItem(null, "Selecione")); for (Palestra p : temp) { if(p.getInscricoes().size() < p.getNumeroVagas()) palestras.add(new SelectItem(p.getId(), p.getDescricao())); } } } public String realizarIncrcao() { try { inscricao.setPalestra(DAOPalestra.localizarPalestra(idPalestra)); if (DAOInscricao.verificaSeJaInscrito(inscricao)) { FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_WARN, "CPF já inscrito!", null); FacesContext.getCurrentInstance().addMessage(null, fm); } else { DAOInscricao.salvaIncricao(inscricao); FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_INFO, "Cadastro realizado com sucesso", null); FacesContext.getCurrentInstance().addMessage(null, fm); } } catch (Exception e) { FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_FATAL, "Erro inesperado!", null); FacesContext.getCurrentInstance().addMessage(null, fm); } preparaFormulario(); return "resultado"; } public Integer getIdEvento() { return idEvento; } public void setIdEvento(Integer idEvento) { this.idEvento = idEvento; } public List<SelectItem> getEventos() { return eventos; } public void setEventos(List<SelectItem> eventos) { this.eventos = eventos; } public Integer getIdPalestra() { return idPalestra; } public void setIdPalestra(Integer idPalestra) { this.idPalestra = idPalestra; } public List<SelectItem> getPalestras() { return palestras; } public void setPalestras(List<SelectItem> palestras) { this.palestras = palestras; } public Inscricao getInscricao() { return inscricao; } public void setInscricao(Inscricao inscricao) { this.inscricao = inscricao; } public boolean isFormulario() { return formulario; } public void setFormulario(boolean formulario) { this.formulario = formulario; } }
Compartilhar