Add stock capabilities
parent
d3127da4a5
commit
26bce09653
|
|
@ -1,17 +1,21 @@
|
|||
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) {
|
||||
int currentQuantity = cart.getProductQuantity(product);
|
||||
if (currentQuantity < getStock(product))
|
||||
cart.addProduct(product);
|
||||
}
|
||||
|
||||
|
|
@ -20,11 +24,16 @@ public class Shop {
|
|||
}
|
||||
|
||||
public void setProductQuantityInCart(Product product, int 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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue