@Override @Transactional(rollbackFor = Exception.class) public void inserirEvento(EventoDTO eventoDTO) { List<Horario> horarios = horarioManager.obterHorarios(eventoDTO.getHorarios()); Evento evento = obterEvento(eventoDTO); eventoDAO.saveOrUpdate(evento); removerHorarios(evento); configurarInserirHorarios(horarios, evento); }
@Override @Transactional(readOnly = true) public List<EventoDTO> consultarEventos(EventoFiltroDTO eventoFiltroDTO) { List<EventoDTO> eventos = eventoDAO.consultarEventos(eventoFiltroDTO); for (EventoDTO eventoDTO : eventos) { List<HorarioDTO> horarios = horarioManager.consultarHorariosDTO(eventoDTO.getId()); eventoDTO.setHorarios(horarios); } return eventos; }
private void configurarInserirHorarios(List<Horario> horarios, Evento evento) { for (Horario horario : horarios) { horario.setEvento(evento); } horarioManager.inserirHorarios(horarios); }
private void removerHorarios(Evento evento) { List<Horario> horariosExclusao = horarioManager.consultarHorarios(evento.getId()); horarioManager.removerHorarios(horariosExclusao); }
@Override public boolean isEventoValido(EventoDTO eventoDTO, List<Horario> horarios) { return isCamposEventoValidos(eventoDTO) && horarioManager.isTodosHorariosValidos(horarios); }