From 03b916e703c83d41242c5cefc4b182443c9ae872 Mon Sep 17 00:00:00 2001 From: Marc Rodriguez Date: Tue, 17 Sep 2024 11:55:03 +0200 Subject: [PATCH 1/6] Hola soy Marc --- src/main/java/org/example/App.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/example/App.java b/src/main/java/org/example/App.java index c76797e..8f18cac 100644 --- a/src/main/java/org/example/App.java +++ b/src/main/java/org/example/App.java @@ -19,6 +19,8 @@ public static void main( String[] args ) sandboxCreateObjects(); //o1.calculateIVA(); System.out.println("\nFinish"); + //Hola soy Marc + } public static void sandboxCreateObjects (){ From 0706146cfb37acc406315f929b8d93e1ae8c14fb Mon Sep 17 00:00:00 2001 From: Marc Rodriguez Date: Tue, 17 Sep 2024 12:06:37 +0200 Subject: [PATCH 2/6] Hola soy Marc --- src/main/java/org/example/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/example/App.java b/src/main/java/org/example/App.java index 8f18cac..50f5195 100644 --- a/src/main/java/org/example/App.java +++ b/src/main/java/org/example/App.java @@ -20,6 +20,7 @@ public static void main( String[] args ) //o1.calculateIVA(); System.out.println("\nFinish"); //Hola soy Marc + System.out.println("asdaf"); } From 822e5ade506fb0faf888144af3fa0d5ce5160d78 Mon Sep 17 00:00:00 2001 From: Marc Rodriguez Date: Thu, 19 Sep 2024 11:29:25 +0200 Subject: [PATCH 3/6] fsasa --- .idea/vcs.xml | 1 + restaurant | 1 + 2 files changed, 2 insertions(+) create mode 160000 restaurant diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..b598bb7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/restaurant b/restaurant new file mode 160000 index 0000000..b188606 --- /dev/null +++ b/restaurant @@ -0,0 +1 @@ +Subproject commit b1886066fb28001a618610e36289bc2927c22e9c From 62e6d38c21316f6e8262e7f39eed49a254c40f5f Mon Sep 17 00:00:00 2001 From: Marc Rodriguez Date: Wed, 25 Sep 2024 13:36:43 +0200 Subject: [PATCH 4/6] ORDER MANAGER v1.1 --- src/main/java/org/example/App.java | 3 - .../java/org/example/manager/OrderManger.java | 174 ++++++++++++------ src/main/java/org/example/model/Order.java | 22 +-- 3 files changed, 121 insertions(+), 78 deletions(-) diff --git a/src/main/java/org/example/App.java b/src/main/java/org/example/App.java index d21a923..159a2ca 100644 --- a/src/main/java/org/example/App.java +++ b/src/main/java/org/example/App.java @@ -9,8 +9,5 @@ public static void main( String[] args ) System.out.println("\nInit\n"); MainController.start(); System.out.println("\nFinish"); - //Hola soy Marc - System.out.println("asdaf"); - } } diff --git a/src/main/java/org/example/manager/OrderManger.java b/src/main/java/org/example/manager/OrderManger.java index 657e03c..7fddbd3 100644 --- a/src/main/java/org/example/manager/OrderManger.java +++ b/src/main/java/org/example/manager/OrderManger.java @@ -2,6 +2,7 @@ import org.example.model.Menu; import org.example.model.Order; +import org.example.model.Table; import org.example.repository.RestaurantDB; import org.example.utils.Utilities; @@ -25,7 +26,7 @@ public static void testOrder(RestaurantDB r1){ r1.getTables().get("TABLE-01").setBusy(true); - System.out.println("Total to pay:"+ o1.calculateTotalPayment()); + System.out.println("Total to pay:"+ calculateTotalPayment(o1)); System.out.println(o1); o1.setPaid(true); @@ -52,77 +53,140 @@ public static void payOrder(){ } public static boolean createOrder(Scanner scanner, RestaurantDB r1){ - // create object Order order1 = new Order(); - // create date - Date date = new Date(); - order1.setDate(date); - + order1.setDate(new Date()); // create waiter - String waiter = Utilities.ask(scanner, "Waiter? "); - order1.setWaiter(waiter); - + order1.setWaiter(Utilities.ask(scanner, "Waiter? ").toUpperCase()); // people qty - String qty = Utilities.ask(scanner, "People qty? "); - try{ - int qtyInt = Integer.parseInt(qty); - order1.setPeopleQty(qtyInt); - } - catch (NumberFormatException ex){ - ex.printStackTrace(); - } + order1.setPeopleQty(peopleQtyInput(scanner)); + // table selection + order1.setTable(tableSelection(scanner, r1)); + // create menus + order1.setMenus(menuSelection(scanner, r1)); + // total payment + order1.setTotalPayment(calculateTotalPayment(order1)); + // setPaid + order1.setPaid(isPaid(scanner)); + // saver order to repo TODO + r1.getOrders().put("OR-001", order1); + System.out.println("\nOrder"); + System.out.println(order1); + System.out.println("Order saved"); - // create table + return false; + } + private static int peopleQtyInput(Scanner scanner) { + boolean inputOk = false; + int peopleQty = 0; + while (!inputOk) { + String qty = Utilities.ask(scanner, "People qty? "); + // while qty is not a number + try { + peopleQty = Integer.parseInt(qty); + if (peopleQty < 20 && peopleQty > 0) { + inputOk = true; + }else{ + System.out.println("Please enter a number between 1 and 20"); + } + } catch (NumberFormatException ex) { + System.out.println("Please enter a number"); + } + } + return peopleQty; + } + private static Table tableSelection(Scanner scanner, RestaurantDB r1) { + Table tableSelected = null; System.out.println("\nSelect table:"); System.out.println("0 - Take Away"); - r1.getTables().forEach((key, table) -> { - // if table is not busy if (table.getName() == false) - System.out.println( key + " - "+ table.getName()); - }); - String tableSelection = Utilities.ask(scanner, "Table? "); - - if (tableSelection.equals("0")) order1.setTable(null); - else - order1.setTable(r1.getTables().get(tableSelection)); - - // create menus - System.out.println("\nSelect menus:"); - ArrayList menus = new ArrayList(); - while(true) { - - System.out.println("0 - Quit"); - r1.getMenus().forEach((key, menu) -> { - // if menu is active - System.out.println( key + " - " + menu.getName()); - }); - - String option = Utilities.ask(scanner, "Menu? "); - if (option.equals("0")){ break; } - else { - menus.add(r1.getMenus().get(option)); + for (String tableKey : r1.getTables().keySet()) { + Table t = r1.getTables().get(tableKey); + if (!t.isBusy()) { + String tableNumber = tableKey.replace("TABLE-0", ""); + System.out.println(tableNumber + " - " + t.getName()); } - } - order1.setMenus(menus); + try { + int tableSelectionNum = Integer.parseInt(Utilities.ask(scanner, "Table? ")); + + if (tableSelectionNum == 0) { + tableSelected = null; + } else { + String tableKey = "TABLE-0" + tableSelectionNum; + tableSelected = r1.getTables().getOrDefault(tableKey, null); + + if (tableSelected == null) { + System.out.println("Invalid table number."); + } + } + } catch (NumberFormatException e) { + System.out.println("Invalid input. Please enter a valid number."); + } + tableSelected.setBusy(true); + return tableSelected; + } + private static ArrayList menuSelection(Scanner scanner, RestaurantDB r1) { + ArrayList menus = new ArrayList<>(); + while (true) { + System.out.println("\nSelect menu:"); + boolean found = false; + System.out.println("0 - Finish"); + + for (String fullMenuKey : r1.getMenus().keySet()) { + String menuLetter = fullMenuKey.replace("MENU-", "").substring(0, 1).toUpperCase(); + System.out.println(menuLetter + " - " + fullMenuKey + " - " + r1.getMenus().get(fullMenuKey).getName()); + } - // total payment - double totalPayment = order1.calculateTotalPayment(); - order1.setTotalPayment(totalPayment); + String menuSelection = Utilities.ask(scanner, "Menu? (ENTER THE LETTER OR 0)").toUpperCase(); - // create paid - order1.setPaid(false); + if (menuSelection.equals("0")) { + break; + } - // saver order to repo - r1.getOrders().put("OR-001", order1); + for (String fullMenuKey : r1.getMenus().keySet()) { + if (fullMenuKey.replace("MENU-", "").toUpperCase().startsWith(menuSelection)) { + Menu menu = r1.getMenus().get(fullMenuKey); + menus.add(menu); + System.out.println(menu.getName() + " added to your selection."); + found = true; + } + } + if (!found) { + System.out.println("Invalid menu selection. Please try again."); + } + } + return menus; + } + private static double calculateTotalPayment(Order order1){ - System.out.println("\nOrder"); - System.out.println(order1); + double totalPyment = 0.0; + for (Menu m : order1.getMenus()) { + totalPyment = totalPyment + m.getPrice(); + } + double totalPymentIVA = calculateIVA(totalPyment); + order1.setTotalPayment(totalPymentIVA); - return false; + //System.out.println(this); + return totalPymentIVA; + } + private static double calculateIVA(double number){ //Calculate IVA 21% + double iva = 0.21; + number = number * (1.0 + iva); + return number; + } + private static boolean isPaid(Scanner scanner){ + System.out.println("Is paid?"); + System.out.println("1 - Yes"); + System.out.println("2 - No"); + int option = Integer.parseInt(Utilities.ask(scanner, "Option? ")); + if(option == 1){ + return true; + }else{ + return false; + } } } diff --git a/src/main/java/org/example/model/Order.java b/src/main/java/org/example/model/Order.java index 1f005f0..7544d7c 100644 --- a/src/main/java/org/example/model/Order.java +++ b/src/main/java/org/example/model/Order.java @@ -19,26 +19,8 @@ public class Order { private Table table; private ArrayList menus; - //Calculate the amount to pay with IVA - public double calculateTotalPayment (){ - - double totalPyment = 0.0; - for (Menu m : this.getMenus()) { - totalPyment = totalPyment + m.getPrice(); - } - - double totalPymentIVA = calculateIVA(totalPyment); - this.setTotalPayment(totalPymentIVA); - - //System.out.println(this); - return totalPymentIVA; - } - // calculate IVA with 21% - public double calculateIVA(double number){ - double iva = 0.21; - number = number * (1.0 + iva); - return number; - } + + From 8b0e650c2ad3f06a75d2a5cedb884431d53cd2be Mon Sep 17 00:00:00 2001 From: Marc Rodriguez Date: Wed, 25 Sep 2024 13:52:20 +0200 Subject: [PATCH 5/6] order man v 1.1 --- .../org/example/manager/OrderManager.java | 1 - .../org/example/manager/OrderManager.java~ | 251 ------------------ 2 files changed, 252 deletions(-) delete mode 100644 src/main/java/org/example/manager/OrderManager.java~ diff --git a/src/main/java/org/example/manager/OrderManager.java b/src/main/java/org/example/manager/OrderManager.java index a600e3f..035f75f 100644 --- a/src/main/java/org/example/manager/OrderManager.java +++ b/src/main/java/org/example/manager/OrderManager.java @@ -11,7 +11,6 @@ import java.util.Scanner; public class OrderManager { - public static void testOrder(RestaurantDB r1){ ArrayList m = new ArrayList<>(); diff --git a/src/main/java/org/example/manager/OrderManager.java~ b/src/main/java/org/example/manager/OrderManager.java~ deleted file mode 100644 index ed499a1..0000000 --- a/src/main/java/org/example/manager/OrderManager.java~ +++ /dev/null @@ -1,251 +0,0 @@ -package org.example.manager; - -import org.example.model.Menu; -import org.example.model.Order; -import org.example.model.Table; -import org.example.repository.RestaurantDB; -import org.example.utils.Utilities; - -import java.sql.SQLOutput; -import java.util.ArrayList; -import java.util.Date; -import java.util.Scanner; -import java.util.UUID; - -public class OrderManager { - - public static void testOrder(RestaurantDB r1){ - - ArrayList m = new ArrayList<>(); - m.add(r1.getMenus().get("MENU-NIG")); - m.add(r1.getMenus().get("MENU-NIG")); - m.add(r1.getMenus().get("MENU-VEG")); - m.add(r1.getMenus().get("MENU-KID")); - - Order o1 = new Order(new Date(), "Jazz", 4, - 0.0, false, r1.getTables().get("TABLE-01"), null); - o1.setMenus(m); - - r1.getTables().get("TABLE-01").setBusy(true); - - System.out.println("Total to pay:"+ calculateTotalPayment(o1)); - System.out.println(o1); - - o1.setPaid(true); - - System.out.println(o1); - r1.getTables().get("TABLE-01").setBusy(false); - - System.out.println("Table status (" + - r1.getTables().get("TABLE-01").getName() + - "):" + r1.getTables().get("TABLE-01").isBusy()); - - - } - - public static void payOrder(){ - - //to-do - //hashMap orders from r1 - //filter by TODAY and NOT-PAY - //SELECT order from a loop: quit, option and unknown - //get total payment - // isPaid to TRUE - - } - - public static boolean createOrder(Scanner scanner, RestaurantDB r1){ -<<<<<<< HEAD:src/main/java/org/example/manager/OrderManger.java -======= - - boolean statusOperation = false; ->>>>>>> master:src/main/java/org/example/manager/OrderManager.java - // create object - Order order1 = new Order(); - // create date - order1.setDate(new Date()); - // create waiter - order1.setWaiter(Utilities.ask(scanner, "Waiter? ").toUpperCase()); - // people qty -<<<<<<< HEAD:src/main/java/org/example/manager/OrderManger.java - order1.setPeopleQty(peopleQtyInput(scanner)); - // table selection - order1.setTable(tableSelection(scanner, r1)); -======= - while (true) { - String qty = Utilities.ask(scanner, "People qty? "); - try { - int qtyInt = Integer.parseInt(qty); - order1.setPeopleQty(qtyInt); - break; // Exit the loop if input is valid - } catch (NumberFormatException ex) { - System.out.println("Invalid input. Please enter an integer."); - } - } - - // create table - System.out.println("\nSelect table:"); - - TableManager.printAvailableTables(r1); - System.out.println("0 - Take Away"); - String tableSelection = Utilities.ask(scanner, "Table? "); - - if (tableSelection.equals("0")) order1.setTable(null); - else - order1.setTable(r1.getTables().get(tableSelection)); - - ->>>>>>> master:src/main/java/org/example/manager/OrderManager.java - // create menus - order1.setMenus(menuSelection(scanner, r1)); - // total payment -<<<<<<< HEAD:src/main/java/org/example/manager/OrderManger.java - order1.setTotalPayment(calculateTotalPayment(order1)); - // setPaid - order1.setPaid(isPaid(scanner)); - // saver order to repo TODO - r1.getOrders().put("OR-001", order1); - System.out.println("\nOrder"); - System.out.println(order1); - System.out.println("Order saved"); -======= - double totalPayment = order1.calculateTotalPayment(); - order1.setTotalPayment(totalPayment); - - // create paid - order1.setPaid(false); - - - // saver order to repo - String uuid = UUID.randomUUID().toString(); - r1.getOrders().put(uuid, order1); - Order orderSaved = r1.getOrders().get(uuid); - - if (orderSaved != null){ - statusOperation = true; - - System.out.println("\nOrder"); - System.out.println("Order ID: " + uuid); - System.out.println(orderSaved); ->>>>>>> master:src/main/java/org/example/manager/OrderManager.java - - r1.getTables().get(tableSelection).setBusy(true); - System.out.println( "\nTable status BUSY(" + r1.getTables().get(tableSelection).getName() + "):" + r1.getTables().get(tableSelection).isBusy()); - //TableManager.printAvailableTables(r1); - } - - return statusOperation; - } - private static int peopleQtyInput(Scanner scanner) { - boolean inputOk = false; - int peopleQty = 0; - while (!inputOk) { - String qty = Utilities.ask(scanner, "People qty? "); - // while qty is not a number - try { - peopleQty = Integer.parseInt(qty); - if (peopleQty < 20 && peopleQty > 0) { - inputOk = true; - }else{ - System.out.println("Please enter a number between 1 and 20"); - } - } catch (NumberFormatException ex) { - System.out.println("Please enter a number"); - } - } - return peopleQty; - } - private static Table tableSelection(Scanner scanner, RestaurantDB r1) { - Table tableSelected = null; - System.out.println("\nSelect table:"); - System.out.println("0 - Take Away"); - - for (String tableKey : r1.getTables().keySet()) { - Table t = r1.getTables().get(tableKey); - if (!t.isBusy()) { - String tableNumber = tableKey.replace("TABLE-0", ""); - System.out.println(tableNumber + " - " + t.getName()); - } - } - try { - int tableSelectionNum = Integer.parseInt(Utilities.ask(scanner, "Table? ")); - - if (tableSelectionNum == 0) { - tableSelected = null; - } else { - String tableKey = "TABLE-0" + tableSelectionNum; - tableSelected = r1.getTables().getOrDefault(tableKey, null); - - if (tableSelected == null) { - System.out.println("Invalid table number."); - } - } - } catch (NumberFormatException e) { - System.out.println("Invalid input. Please enter a valid number."); - } - tableSelected.setBusy(true); - - return tableSelected; - } - private static ArrayList menuSelection(Scanner scanner, RestaurantDB r1) { - ArrayList menus = new ArrayList<>(); - while (true) { - System.out.println("\nSelect menu:"); - boolean found = false; - System.out.println("0 - Finish"); - - for (String fullMenuKey : r1.getMenus().keySet()) { - String menuLetter = fullMenuKey.replace("MENU-", "").substring(0, 1).toUpperCase(); - System.out.println(menuLetter + " - " + fullMenuKey + " - " + r1.getMenus().get(fullMenuKey).getName()); - } - - String menuSelection = Utilities.ask(scanner, "Menu? (ENTER THE LETTER OR 0)").toUpperCase(); - - if (menuSelection.equals("0")) { - break; - } - - for (String fullMenuKey : r1.getMenus().keySet()) { - if (fullMenuKey.replace("MENU-", "").toUpperCase().startsWith(menuSelection)) { - Menu menu = r1.getMenus().get(fullMenuKey); - menus.add(menu); - System.out.println(menu.getName() + " added to your selection."); - found = true; - } - } - if (!found) { - System.out.println("Invalid menu selection. Please try again."); - } - } - return menus; - } - private static double calculateTotalPayment(Order order1){ - - double totalPyment = 0.0; - for (Menu m : order1.getMenus()) { - totalPyment = totalPyment + m.getPrice(); - } - - double totalPymentIVA = calculateIVA(totalPyment); - order1.setTotalPayment(totalPymentIVA); - - //System.out.println(this); - return totalPymentIVA; - } - private static double calculateIVA(double number){ //Calculate IVA 21% - double iva = 0.21; - number = number * (1.0 + iva); - return number; - } - private static boolean isPaid(Scanner scanner){ - System.out.println("Is paid?"); - System.out.println("1 - Yes"); - System.out.println("2 - No"); - int option = Integer.parseInt(Utilities.ask(scanner, "Option? ")); - if(option == 1){ - return true; - }else{ - return false; - } - } -} From be046b55fd289f8de264a0a2287255fc72fa9f3e Mon Sep 17 00:00:00 2001 From: Marc Rodriguez Date: Wed, 25 Sep 2024 17:01:10 +0200 Subject: [PATCH 6/6] OrderManager v1.2 --- .../org/example/manager/OrderManager.java | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/example/manager/OrderManager.java b/src/main/java/org/example/manager/OrderManager.java index 035f75f..35de632 100644 --- a/src/main/java/org/example/manager/OrderManager.java +++ b/src/main/java/org/example/manager/OrderManager.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.Scanner; +import java.util.UUID; public class OrderManager { public static void testOrder(RestaurantDB r1){ @@ -68,13 +69,15 @@ public static boolean createOrder(Scanner scanner, RestaurantDB r1){ order1.setTotalPayment(calculateTotalPayment(order1)); // setPaid order1.setPaid(isPaid(scanner)); - // saver order to repo TODO - r1.getOrders().put("OR-001", order1); - System.out.println("\nOrder"); - System.out.println(order1); - System.out.println("Order saved"); - - return false; + // saver order to repo + boolean orderIsSaved = saveOrder(order1, r1); + if(!orderIsSaved){ + System.out.println("The order is not saved properly."); + return false; + }else{ + System.out.println(printTicket(order1)); + return true; + } } private static int peopleQtyInput(Scanner scanner) { boolean inputOk = false; @@ -188,4 +191,27 @@ private static boolean isPaid(Scanner scanner){ return false; } } + private static boolean saveOrder(Order order, RestaurantDB r1){ + String uuid = UUID.randomUUID().toString(); + r1.getOrders().put(uuid, order); + System.out.println("Order saved with id: "+ uuid); + if(r1.getOrders().containsKey(uuid)){ + return true; + }else{ + return false; + } + } + private static String printTicket(Order order1){ + String ticket = ""; + ticket = ticket + "Waiter: " + order1.getWaiter() + "\n"; + ticket = ticket + "Date: " + order1.getDate() + "\n"; + ticket = ticket + "Table: " + order1.getTable().getName() + " - Busy: " + order1.getTable().isBusy() + "\n"; + ticket = ticket + "People Qty: " + order1.getPeopleQty() + "\n"; + ticket = ticket + "Menus: " + "\n"; + for (Menu m : order1.getMenus()) { + ticket = ticket + m.getName() + " - " + m.getPrice() + "\n"; + } + ticket = ticket + "Total payment: " + order1.getTotalPayment(); + return ticket; + } }