Boa tarde galera, tudo certo ? Bem, na minha aplicação estou utilizando checkBox para o usuário marcar os dias da semana que terá aula. Na minha tabela do BD, há um campo para cada dia. Já está funcionado e tal, porém, estou querendo melhorar a maneira que estou fazendo…Abaixo o código:
No xhtml:
<fieldset>
<legend>Dias Letivos</legend>
<h:panelGrid columns="7" width="70%">
<h:panelGrid columns="2">
<p:outputLabel value="Segunda - Feira:" />
<p:selectBooleanCheckbox id="segundaId" value="#{turmaJsfBean.aulaSegunda}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel value="Terça - Feira:" />
<p:selectBooleanCheckbox id="tercaId" value="#{turmaJsfBean.aulaTerca}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel value="Quarta - Feira:" />
<p:selectBooleanCheckbox id="quartaId" value="#{turmaJsfBean.aulaQuarta}" />
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel value="Quinta - Feira:" />
<p:selectBooleanCheckbox id="quintaId" value="#{turmaJsfBean.aulaQuinta}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel value="Sexta - Feira:" />
<p:selectBooleanCheckbox id="sextaId" value="#{turmaJsfBean.aulaSexta}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel value="Sábado:" />
<p:selectBooleanCheckbox id="sabadoId" value="#{turmaJsfBean.aulaSabado}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel value="Domingo:" />
<p:selectBooleanCheckbox id="domingoId" value="#{turmaJsfBean.aulaDomingo }" />
</h:panelGrid>
</h:panelGrid>
</fieldset>
No meu bean:
private boolean aulaSegunda, aulaTerca, aulaQuarta, aulaQuinta, aulaSexta, aulaSabado, aulaDomingo;
// getters e setters
public void resetaDiasDaSemana() {
aulaSegunda = false;
aulaTerca = false;
aulaQuarta = false;
aulaQuinta = false;
aulaSexta = false;
aulaSabado = false;
aulaDomingo = false;
}
public void salvaAulaDiasDaSemana() {
if (aulaSegunda) {
crudObj.setSegunda("S");
} else {
crudObj.setSegunda("N");
}
if (aulaTerca) {
crudObj.setTerca("S");
} else {
crudObj.setTerca("N");
}
if (aulaQuarta) {
crudObj.setQuarta("S");
} else {
crudObj.setQuarta("N");
}
if (aulaQuinta) {
crudObj.setQuinta("S");
} else {
crudObj.setQuinta("N");
}
if (aulaSexta) {
crudObj.setSexta("S");
} else {
crudObj.setSexta("N");
}
if (aulaSabado) {
crudObj.setSabado("S");
} else {
crudObj.setSabado("N");
}
if (aulaDomingo) {
crudObj.setDomingo("S");
} else {
crudObj.setDomingo("N");
}
}
@Override
public void salva() {
salvaAulaDiasDaSemana();
super.salva();
resetaDiasDaSemana();
}
@Override
public void editaObj(Turma obj) {
if (obj.getSegunda().equals("S")) {
aulaSegunda = true;
} else {
aulaSegunda = false;
}
if (obj.getTerca().equals("S")) {
aulaTerca = true;
} else {
aulaTerca = false;
}
if (obj.getQuarta().equals("S")) {
aulaQuarta = true;
} else {
aulaQuarta = false;
}
if (obj.getQuinta().equals("S")) {
aulaQuinta = true;
} else {
aulaQuinta = false;
}
if (obj.getSexta().equals("S")) {
aulaSexta = true;
} else {
aulaSexta = false;
}
if (obj.getSabado().equals("S")) {
aulaSabado = true;
} else {
aulaSabado = false;
}
if (obj.getDomingo().equals("S")) {
aulaDomingo = true;
} else {
aulaDomingo = false;
}
}
Se alguém puder ajudar a melhorar o código, ou até mesmo tiver alguma outra maneira de fazer, eu agradeceria mto, pois acredito que dê pra melhorar isso que fiz e reduzir algumas linhas de código…Vlw…