コード例 #1
0
  // User || admin
  @POST
  @Path("/create")
  @Produces(MediaType.APPLICATION_JSON)
  @Consumes(MediaType.APPLICATION_JSON)
  public Response addProducto(@QueryParam("mongo") Boolean mongo, DataProducto dp) {
    Producto p = new Producto();

    p.setNombre(dp.getNombre());
    p.setDescripcion(dp.getDescripcion());
    Categoria cat = em.find(Categoria.class, dp.getCategoria());
    if (cat == null) {
      DataResponse dr = new DataResponse();
      dr.setMensaje("Categoria " + dp.getCategoria() + " no existe");
      return Response.status(500).entity(dr).build();
    }
    p.setCategoria(cat);
    p.setGenerico(dp.getIsgenerico());
    try {
      em.persist(p);
      em.flush();
      dp.setID(p.getId());

      // MONGO
      if (mongo == null || mongo) new MongoController().upsertProduct(dp);

      return Response.status(201).entity(dp).build();

    } catch (Exception e) {
      DataResponse dr = new DataResponse();
      dr.setMensaje("Error inesperado.");
      dr.setDescripcion(e.getMessage());
      return Response.status(409).build();
    }
  }
コード例 #2
0
  // if producto generico admin
  // else user
  @PUT
  @Path("{id}")
  @Produces(MediaType.APPLICATION_JSON)
  @Consumes(MediaType.APPLICATION_JSON)
  public Response updateProducto(@PathParam(value = "id") Long id, DataProducto dp) {
    Producto p = em.find(Producto.class, id);
    p.setNombre(dp.getNombre());
    p.setDescripcion(dp.getDescripcion());
    p.setGenerico(dp.getIsgenerico());
    Categoria cat = em.find(Categoria.class, dp.getCategoria());
    if (cat == null) {
      DataResponse dr = new DataResponse();
      dr.setMensaje("Categoria " + dp.getCategoria() + " no existe");
      return Response.status(500).entity(dr).build();
    }
    p.setCategoria(cat);

    em.merge(p);

    // mongo thread
    dp.setID(p.getId());
    new MongoController().upsertProduct(dp);

    return Response.status(200).build();
  }