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;
}
}