Esempio n. 1
0
  @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());
    }
  }
Esempio n. 2
0
  // Notação transactional sempre que o método fizer transação com o Banco de
  // Dados.
  @Transactional
  public static Result deleteAnuncio(Long id) {
    DynamicForm deleteForm = Form.form().bindFromRequest();
    if (deleteForm.get("codigo").equals(dao.findByEntityId(Anuncio.class, id).getCodigo())) {
      // Remove o Anuncio pelo Id
      dao.removeById(Anuncio.class, id);
      // Espelha no banco de dados
      dao.flush();
    }
    if (deleteForm.get("optradio").equals("1")) {
      contador.setResolvido(contador.getResolvido() + 1);

    } else {
      contador.setNao_resolvido(contador.getNao_resolvido() + 1);
    }
    dao.persist(contador);
    dao.flush();
    return redirect(routes.Application.anuncios());
  }