package restservices; import dao.PedidoDAO; import java.util.ArrayList; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Request; import javax.ws.rs.core.UriInfo; import model.LineaPedido; import model.Pedido; import restservices.pojos.ClienteBean; import restservices.pojos.DireccionBean; import restservices.pojos.PedidosBean; import restservices.pojos.ProductoBean; import restservices.response.ListaPedidosResponse; @Path("pedidos") public class PedidosService { // Allows to insert contextual objects into the class @Context UriInfo uriInfo; @Context Request request; @GET @Produces({MediaType.APPLICATION_JSON}) @Path("obtener") public ListaPedidosResponse obtenerPedidos() { PedidoDAO pedidoDAO = new PedidoDAO(); ListaPedidosResponse lp = new ListaPedidosResponse(); ArrayList<Pedido> basededatos = (ArrayList<Pedido>) pedidoDAO.findAllByEstado(0); /* Clases Auxiliares */ PedidosBean p; ClienteBean c; DireccionBean d; ProductoBean prod; for (Pedido pedido : basededatos) { p = new PedidosBean(); c = new ClienteBean(); d = new DireccionBean(); p.setEstado("Pendiente"); p.setId(pedido.getId().toString()); p.setCreacion(pedido.getCreacion()); c.setNombre(pedido.getCliente().getNombre()); c.setApellido(pedido.getCliente().getApellido()); c.setIdcliente(pedido.getCliente().getId().toString()); c.setNumerocontacto(pedido.getCliente().getNumerodecontacto()); p.setCliente(c); p.setPreciototal(String.valueOf(pedido.getPreciototal())); for (LineaPedido lineapedido : pedido.getCarrito()) { prod = new ProductoBean(); prod.setCantidad(String.valueOf(lineapedido.getCantidad())); prod.setId_producto(lineapedido.getProducto().getId().toString()); prod.setMarca(lineapedido.getProducto().getMarca()); prod.setDescripcion(lineapedido.getProducto().getDescripcion()); prod.setPrecio(String.valueOf(lineapedido.getProducto().getPrecio())); p.getCarrito().add(prod); } d.setCalle(pedido.getDireccion().getNombre()); d.setCodigopostal(String.valueOf(pedido.getDireccion().getCodigopostal())); d.setComunidad(pedido.getDireccion().getComunidad()); d.setLocalidad(pedido.getDireccion().getLocalidad()); d.setNumero(String.valueOf(pedido.getDireccion().getNumero())); d.setPais(pedido.getDireccion().getPais()); d.setPiso(String.valueOf(pedido.getDireccion().getPiso())); d.setProvincia(pedido.getDireccion().getProvincia()); d.setPuerta(pedido.getDireccion().getPuerta()); d.setTipo(pedido.getDireccion().getTipo()); p.setDireccion(d); lp.getPedidos().add(p); } return lp; } }