@Transactional
@RequestMapping("/save/{action}")
public ModelAndView save(@PathVariable String action, @Valid Curso curso, BindingResult bind) {
Message msg = null;
if (bind.hasFieldErrors()) {
msg = new Message(MessageType.ERROR, "Curso informado é inválido para esta operação!");
} else if ("add".equals(action)) {
cursoJpaDAO.create(curso);
msg = new Message(MessageType.INFO, "Curso incluido com sucesso!");
} else if ("edit".equals(action)) {
cursoJpaDAO.update(curso);
msg = new Message(MessageType.INFO, "Curso alterado com sucesso!");
} else if ("delete".equals(action)) {
cursoJpaDAO.delete(curso);
msg = new Message(MessageType.INFO, "Curso excluido com sucesso!");
} else {
msg = new Message(MessageType.ERROR, "Operação Inválida!");
}
ModelAndView mv = new ModelAndView("common/message");
mv.addObject("msg", msg);
mv.addObject("back", "/cursos/list");
return mv;
}