Add stock capabilities

main
CPlaiz 2025-12-13 17:19:17 +01:00
parent d3127da4a5
commit 26bce09653
1 changed files with 22 additions and 5 deletions

View File

@ -1,18 +1,22 @@
package org.example;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
public class Shop {
List<Product> products;
HashMap<Product, Integer> products;
ShoppingCart cart = new ShoppingCart();
public Shop(List<Product> products) {
public Shop(HashMap<Product, Integer> products) {
this.products = products;
}
public void addProductToCart(Product product) {
cart.addProduct(product);
int currentQuantity = cart.getProductQuantity(product);
if (currentQuantity < getStock(product))
cart.addProduct(product);
}
public void removeProductFromCart(Product product) {
@ -20,11 +24,16 @@ public class Shop {
}
public void setProductQuantityInCart(Product product, int quantity) {
cart.setProductQuantity(product, quantity);
if (quantity <= getStock(product))
cart.setProductQuantity(product, quantity);
}
public int getStock(Product product) {
return products.getOrDefault(product, 0);
}
public Product getProductById(int id) {
for (Product product : products) {
for (Product product : products.keySet()) {
if (product.id == id) {
return product;
}
@ -32,6 +41,14 @@ public class Shop {
return null;
}
public List<Product> getProductList() {
return products.keySet().stream().toList();
}
public HashMap<Product, Integer> getCart() {
return cart.products;
}
public Order checkout() {
Order order = cart.toOrder();
cart.clearProducts();