public Product updateProduct(Product product) { Product persistedProduct = getProductById(product.getId()); if(persistedProduct == null){ throw new JCartException("Product "+product.getId()+" doesn't exist"); } persistedProduct.setDescription(product.getDescription()); persistedProduct.setDisabled(product.isDisabled()); persistedProduct.setPrice(product.getPrice()); persistedProduct.setCategory(getCategoryById(product.getCategory().getId())); return productRepository.save(persistedProduct); }
public Product toProduct() { Product p = new Product(); p.setId(id); p.setName(name); p.setDescription(description); p.setDisabled(disabled); p.setPrice(price); p.setSku(sku); Category category = new Category(); category.setId(categoryId); p.setCategory(category ); //p.setImageUrl(WebUtils.IMAGES_PREFIX+id+".jpg"); return p; }
public static ProductForm fromProduct(Product product) { ProductForm p = new ProductForm(); p.setId(product.getId()); p.setName(product.getName()); p.setDescription(product.getDescription()); p.setDisabled(product.isDisabled()); p.setPrice(product.getPrice()); p.setSku(product.getSku()); p.setCategoryId(product.getCategory().getId()); //p.setImageUrl(WebUtils.IMAGES_PREFIX+product.getId()+".jpg"); return p; } }
@RequestMapping(value="/products", method=RequestMethod.POST) public String createProduct(@Valid @ModelAttribute("product") ProductForm productForm, BindingResult result, Model model, RedirectAttributes redirectAttributes) { productFormValidator.validate(productForm, result); if(result.hasErrors()){ return viewPrefix+"create_product"; } Product product = productForm.toProduct(); Product persistedProduct = catalogService.createProduct(product); productForm.setId(product.getId()); this.saveProductImageToDisk(productForm); logger.debug("Created new product with id : {} and name : {}", persistedProduct.getId(), persistedProduct.getName()); redirectAttributes.addFlashAttribute("info", "Product created successfully"); return "redirect:/products"; }
public BigDecimal getSubTotal() { return product.getPrice().multiply(new BigDecimal(quantity)); }
@RequestMapping(value="/products/{id}", method=RequestMethod.POST) public String updateProduct(@Valid @ModelAttribute("product") ProductForm productForm, BindingResult result, Model model, RedirectAttributes redirectAttributes) { productFormValidator.validate(productForm, result); if(result.hasErrors()){ return viewPrefix+"edit_product"; } Product product = productForm.toProduct(); Product persistedProduct = catalogService.updateProduct(product); this.saveProductImageToDisk(productForm); logger.debug("Updated product with id : {} and name : {}", persistedProduct.getId(), persistedProduct.getName()); redirectAttributes.addFlashAttribute("info", "Product updated successfully"); return "redirect:/products"; }
public BigDecimal getSubTotal() { return product.getPrice().multiply(new BigDecimal(quantity)); }
public void removeItem(String sku) { LineItem item = null; for (LineItem lineItem : items) { if(lineItem.getProduct().getSku().equals(sku)){ item = lineItem; break; } } if(item != null){ items.remove(item); } }
item.setProduct(lineItem.getProduct()); item.setQuantity(lineItem.getQuantity()); item.setPrice(lineItem.getProduct().getPrice()); item.setOrder(newOrder); orderItems.add(item);
@RequestMapping(value="/cart/items", method=RequestMethod.POST) @ResponseBody public void addToCart(@RequestBody Product product, HttpServletRequest request) { Cart cart = getOrCreateCart(request); Product p = catalogService.getProductBySku(product.getSku()); cart.addItem(p); }
@RequestMapping(value="/cart/items", method=RequestMethod.PUT) @ResponseBody public void updateCartItem(@RequestBody LineItem item, HttpServletRequest request, HttpServletResponse response) { Cart cart = getOrCreateCart(request); if(item.getQuantity() <= 0){ String sku = item.getProduct().getSku(); cart.removeItem(sku); } else { cart.updateItemQuantity(item.getProduct(), item.getQuantity()); } }