diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index 4a6fae7..cf1ed75 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -45,16 +45,12 @@ public class Main { } public static ArrayList readFile(String path) throws FileNotFoundException { - ArrayList lines = new ArrayList<>(); Scanner sc = new Scanner(new File(path)); - while (sc.hasNextLine()) { lines.add(sc.nextLine()); } - sc.close(); - return lines; } } \ No newline at end of file diff --git a/src/main/java/org/example/Shop.java b/src/main/java/org/example/Shop.java index 2629523..4577ee3 100644 --- a/src/main/java/org/example/Shop.java +++ b/src/main/java/org/example/Shop.java @@ -2,7 +2,6 @@ package org.example; import java.util.HashMap; import java.util.List; -import java.util.Set; public class Shop { @@ -41,6 +40,19 @@ public class Shop { return null; } + public Product getProductByNameSearch(String name) { + Product foundProduct = null; + for (Product product : products.keySet()) { + if (product.name.toLowerCase().contains(name.toLowerCase())) { + if (foundProduct != null) { + return null; + } + foundProduct = product; + } + } + return null; + } + public List getProductList() { return products.keySet().stream().toList(); } diff --git a/src/main/java/org/example/TUI.java b/src/main/java/org/example/TUI.java index f48b648..da422d6 100644 --- a/src/main/java/org/example/TUI.java +++ b/src/main/java/org/example/TUI.java @@ -29,7 +29,14 @@ public class TUI { case "checkout" -> checkout(null); case "list" -> listProducts(shop.products); case "cart" -> listCart(shop.getCart()); - case "add" -> shop.addProductToCart(shop.getProductById(Integer.parseInt(tokens[1]))); + case "add" -> { + try { + shop.addProductToCart(shop.getProductById(Integer.parseInt(tokens[1]))); + } catch (NumberFormatException e) { + Product productByName = shop.getProductByNameSearch(tokens[1]); + shop.addProductToCart(productByName); + } + } case "remove" -> shop.removeProductFromCart(shop.getProductById(Integer.parseInt(tokens[1]))); case "set" -> shop.setProductQuantityInCart(shop.getProductById(Integer.parseInt(tokens[1])), Integer.parseInt(tokens[2]));