Gostaria de uma ajuda para criar o método que exclui um item no calendário (excluirItemCaledario), o método que faz a incluisão e edição já está implementado (incluirItemCalendario). Lembrando que só existe exclusão depois da inclusão o seja na fase de (edição). Segue código.
public void incluirItemCalendario() {
// Validações hora.
if (possuiValor(horaInicial) && possuiValor(horaFinal)) {
if (!turmaService.validarHoraFinalMenorQueInicial(horaInicial, horaFinal)) {
exibirMensagemErro(getMensagem(Constantes.MSG_ERRO_VALIDACAO_HORA_INICIAL_MAIOR_HORA_FINAL));
return;
}
}
Disciplina disciplina = null;
if (possuiValor(codigoDisciplina)) {
disciplina = new Disciplina();
disciplina.setCodigo(codigoDisciplina);
disciplina = disciplinaService.consultarPorId(disciplina);
}
Sala sala = null;
if (possuiValor(codigoSala)) {
sala = new Sala();
sala.setCodigo(codigoSala);
sala = salaService.consultarPorId(sala);
}
// Criando Calendar para o inÃcio do perÃodo selecionado.
Calendar periodoInicio = Calendar.getInstance();
periodoInicio.setTime(getDia());
String[] horarioInicial = horaInicial.split(":");
periodoInicio.set(Calendar.HOUR_OF_DAY, Integer.parseInt(horarioInicial[0]));
periodoInicio.set(Calendar.MINUTE, Integer.parseInt(horarioInicial[1]));
periodoInicio.set(Calendar.SECOND, Integer.parseInt(horarioInicial[2]));
// Criando Calendar para o fim do perÃodo selecionado.
Calendar periodoFim = Calendar.getInstance();
periodoFim.setTime(getDia());
String[] horarioFinal = horaFinal.split(":");
periodoFim.set(Calendar.HOUR_OF_DAY, Integer.parseInt(horarioFinal[0]));
periodoFim.set(Calendar.MINUTE, Integer.parseInt(horarioFinal[1]));
periodoFim.set(Calendar.SECOND, Integer.parseInt(horarioFinal[2]));
ItemCalendario itemCalendario = new ItemCalendario();
itemCalendario.setDisciplina(disciplina);
itemCalendario.setSala(sala);
itemCalendario.setDataInicial(periodoInicio.getTime());
itemCalendario.setDataFinal(periodoFim.getTime());
itemCalendario.setCargaHoraria(cargaHoraria);
try {
List<ItemCalendario> listaItemCalendario = carregarCalendario();
if (possuiValor(listaItemCalendario)) {
turmaService.validarHorarioAula(listaItemCalendario, itemCalendario);
}
if (possuiValor(itemCalendario.getCargaHoraria())
&& possuiValor(disciplina)
&& possuiValor(disciplina.getCodigo())) {
Double cargaHorariaTotal = itemCalendario.getCargaHoraria()
+ disciplinaCargaHoraria.get(disciplina.getCodigo());
turmaService.validarCargaHorariaExcedida(cargaHorariaTotal, disciplina.getCargaHoraria().doubleValue());
disciplinaCargaHoraria.put(disciplina.getCodigo(), cargaHorariaTotal);
}
if (possuiValor(sala) && possuiValor(sala.getCodigo())) {
turmaService.validarSalaUtilizada(itemCalendario);
}
if (edicao) {
for (ItemCalendario item : getItensNovos()) {
if (item.getDataInicial() == this.itemCalendario.getDataInicial()
&& item.getDataFinal() == this.itemCalendario.getDataFinal()) {
itensNovos.remove(item);
itensNovos.add(itemCalendario);
for (ScheduleEvent evento : scheduleModel.getEvents()) {
if (evento.getStartDate() == this.itemCalendario.getDataInicial()
&& evento.getEndDate() == this.itemCalendario.getDataFinal()) {
scheduleModel.deleteEvent(evento);
scheduleModel.addEvent(
new DefaultScheduleEvent(MensagemUtil.getMensagem(disciplina.getMnemonico()),
itemCalendario.getDataInicial(), itemCalendario.getDataFinal()));
break;
}
}
break;
}
}
}else {
itensNovos.add(itemCalendario);
scheduleModel.addEvent(new DefaultScheduleEvent(MensagemUtil.getMensagem(disciplina.getMnemonico()),
itemCalendario.getDataInicial(), itemCalendario.getDataFinal()));
}
setEdicao(false);
exibirMensagemInformacao(getMensagem(ConstantesArquitetura.MSG_INFO_OPERACAO_REALIZADA_COM_SUCESSO));
} catch (BusinessException exception) {
tratarException(exception);
return;
}
}
public void excluirItemCalendario() {
}