Boa noite, tava dando uma olhada no primefaces e eu consegui fazer a tela de consulta usando o componente Schedule, mais eu não consigo gravar na minha tela de consulta uma consulta, tipo ele grava no banco mais na tela da consulta onde clico no dia e tudo mais não fica gravado. Como fazer para gravar na tela? Meu código ta assim.
@Named
@ViewScoped
@SuppressWarnings("serial")
public class ConsultaBean implements Serializable{
@Inject
private Consulta consulta;
@Inject
private ConsultaDao consultaDao;
@Inject
private MensagemUtil mensagem;
@Inject
private PessoaDao pessoaDao;
private ScheduleModel consultas;
@PostConstruct
public void lista() {
consultas = new DefaultScheduleModel();
}
@Transacional
public void salvar(ActionEvent actionEvent) {
if(consulta.getCodigo() == null) {
Pessoa pessoaCodigo = pessoaDao.buscarPorCodigo(consulta.getPessoa().getCodigo());
consulta.setPessoa(pessoaCodigo);
consultaDao.salvar(consulta);
mensagem.mensagemInfo("Consulta salva com sucesso!");
} else {
}
this.consulta = new Consulta();
}
@Transacional
public List<Consulta> getListaPessoas() {
return consultaDao.consultaPessoas();
}
public ScheduleModel getConsultas() {
return consultas;
}
public void setConsultas(ScheduleModel consultas) {
this.consultas = consultas;
}
public Consulta getConsulta() {
return consulta;
}
public void setConsulta(Consulta consulta) {
this.consulta = consulta;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/template/template.xhtml">
<ui:define name="conteudo">
<h:form id="formularioAgendamento">
<p:growl id="mensagem" showDetail="true" sticky="true" />
<p:schedule value="#{consultaBean.consultas}">
<p:ajax event="dateSelect" oncomplete="PF('dialogo').show();"
update=":dialogoFormulario" />
</p:schedule>
</h:form>
<p:dialog widgetVar="dialogo" resizable="false" draggable="false"
closable="true" modal="true" appendTo="@(body)" header="Consultas">
<h:form id="dialogoFormulario">
<h:panelGrid columns="2">
<p:outputLabel value="Dia: " for="dia" />
<p:inputText id="dia" value="#{consultaBean.consulta.data.time}">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss"
timeZone="America/Sao_Paulo" />
</p:inputText>
<p:outputLabel value="Valor: " for="valor" />
<p:inputText id="valor" value="#{consultaBean.consulta.valor}" />
<p:outputLabel value="Cliente" for="cliente" />
<p:selectOneMenu id="cliente"
value="#{consultaBean.consulta.pessoa.codigo}" filter="true"
filterMatchMode="contains">
<f:selectItem itemValue="" itemLabel="Selecione um cliente" />
<f:selectItems itemValue="#{pessoa.codigo}"
itemLabel="#{pessoa.nome}" value="#{consultaBean.listaPessoas}"
var="pessoa" />
</p:selectOneMenu>
</h:panelGrid>
<p:commandButton value="Salvar"
actionListener="#{consultaBean.salvar}"
oncomplete="PF('dialogo').hide();" update="formularioAgendamento" />
</h:form>
</p:dialog>
</ui:define>
</ui:composition>
</html>