@Transactional public static Result newAnuncio() { // O formulário dos Livros Preenchidos DynamicForm filledForm = Form.form().bindFromRequest(); String objetivo = ""; if (filledForm.get("objetivo").equals("Tocar Ocasionalmente")) { objetivo = "Tocar Ocasionalmente"; } else if (filledForm.get("objetivo").equals("Procuro banda")) { objetivo = "Procuro banda"; } else if (filledForm.get("objetivo").equals("Procuro musico")) { objetivo = "Procuro musico"; } if (filledForm.hasErrors()) { List<Anuncio> result = dao.findAllByClass(Anuncio.class); // TODO falta colocar na interface mensagem de erro. return badRequest(views.html.index.render(result, contador)); } else { Anuncio novoAnuncio = new Anuncio( filledForm.get("nome"), filledForm.get("cidade"), filledForm.get("bairro"), filledForm.get("instrumentos"), filledForm.get("email"), filledForm.get("face"), objetivo, filledForm.get("estilo_gosta"), filledForm.get("estilo_nao_gosta"), filledForm.get("codigo")); Logger.debug( "Criando anúncio: " + filledForm.data().toString() + " como " + novoAnuncio.getNome()); // Persiste o Anuncio criado dao.persist(novoAnuncio); // Espelha no Banco de Dados dao.flush(); /* * Usar routes.Application.<uma action> é uma forma de * evitar colocar rotas literais (ex: "/books") * hard-coded no código. Dessa forma, se mudamos no * arquivo routes, continua funcionando. */ return redirect(routes.Application.anuncios()); } }
@Transactional public static Result criar() { List<Anuncio> result = dao.findAllByClass(Anuncio.class); return ok(views.html.criar.render(result)); }
/* * A Anotação transactional é necessária em todas as Actions que * usarem o BD. */ @Transactional public static Result anuncios() { // Todos os Livros do Banco de Dados List<Anuncio> result = dao.findAllByClass(Anuncio.class); return ok(views.html.index.render(result, contador)); }