Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
@PostMapping(value = "/agregar")
public String agregarAlCarrito(@ModelAttribute Producto producto, HttpServletRequest request, RedirectAttributes redirectAttrs) {
ArrayList<ProductoParaVender> carrito = this.obtenerCarrito(request);
Producto productoBuscadoPorCodigo = productosRepository.findFirstByCodigo(producto.getCodigo());
if (productoBuscadoPorCodigo == null) {
redirectAttrs
.addFlashAttribute("mensaje", "El producto con el código " + producto.getCodigo() + " no existe")
.addFlashAttribute("clase", "warning");
return "redirect:/vender/";
}
if (productoBuscadoPorCodigo.sinExistencia()) {
redirectAttrs
.addFlashAttribute("mensaje", "El producto está agotado")
.addFlashAttribute("clase", "warning");
return "redirect:/vender/";
}
boolean encontrado = false;
for (ProductoParaVender productoParaVenderActual : carrito) {
if (productoParaVenderActual.getCodigo().equals(productoBuscadoPorCodigo.getCodigo())) {
productoParaVenderActual.aumentarCantidad();
encontrado = true;
break;
}
}
if (!encontrado) {
carrito.add(new ProductoParaVender(productoBuscadoPorCodigo.getNombre(), productoBuscadoPorCodigo.getCodigo(), productoBuscadoPorCodigo.getPrecio(), productoBuscadoPorCodigo.getExistencia(), productoBuscadoPorCodigo.getId(), 1f));
}
this.guardarCarrito(carrito, request);
return "redirect:/vender/";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment