From f81e9f23501485d039db9dd5c48ad3abeb6d9eb0 Mon Sep 17 00:00:00 2001 From: chonghaoen Date: Tue, 26 Mar 2024 22:00:00 +0800 Subject: [PATCH 1/3] Fix bug in GUI where order tag is not changed --- src/main/java/seedu/address/model/AddressBook.java | 7 +++++++ src/main/java/seedu/address/model/order/OrderList.java | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index d4b4b635d6..5ac504a6f8 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -2,6 +2,7 @@ import static java.util.Objects.requireNonNull; +import java.util.ArrayList; import java.util.List; import javafx.collections.ObservableList; @@ -150,6 +151,12 @@ public void removePerson(Person key) { * @param id index of order to remove */ public void removeOrder(int id) { + Order orderToDelete = this.findOrderByIndex(id); + Person personToEdit = orderToDelete.getCustomer(); + ArrayList listToEdit = personToEdit.getOrders(); + listToEdit.remove(orderToDelete); + personToEdit.setOrders(listToEdit); + this.setPerson(orderToDelete.getCustomer(), personToEdit); orders.deleteOrder(id); } diff --git a/src/main/java/seedu/address/model/order/OrderList.java b/src/main/java/seedu/address/model/order/OrderList.java index ef855ba9e3..85d19c1929 100644 --- a/src/main/java/seedu/address/model/order/OrderList.java +++ b/src/main/java/seedu/address/model/order/OrderList.java @@ -108,13 +108,8 @@ public void deleteOrder(int toDelete) { if (oldOrder == null) { throw new OrderNotFoundException(); } - Person respectiveCustomer = oldOrder.getCustomer(); - //if (respectiveCustomer == null) { - // throw new PersonNotFoundException(); - //} orderList.remove(toDelete); internalList.remove(oldOrder); - //respectiveCustomer.deleteOrder(oldOrder.getId()); } /** From 23901571c504acfbc54c86da96e31581a3f6c672 Mon Sep 17 00:00:00 2001 From: chonghaoen Date: Tue, 26 Mar 2024 22:10:35 +0800 Subject: [PATCH 2/3] Shift add customer order tag to AddressBook instead of AddProductCommand --- .../logic/commands/AddProductCommand.java | 7 ------- .../java/seedu/address/model/AddressBook.java | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/AddProductCommand.java b/src/main/java/seedu/address/logic/commands/AddProductCommand.java index bc5ae6c39b..5847027967 100644 --- a/src/main/java/seedu/address/logic/commands/AddProductCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddProductCommand.java @@ -3,8 +3,6 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_PRODUCT_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PRODUCT_QUANTITY; -import java.util.ArrayList; - import seedu.address.logic.Messages; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; @@ -87,11 +85,6 @@ public CommandResult execute(Model model) throws CommandException { Person customer = lastOrder.getCustomer(); model.addOrder(lastOrder, customer); - ArrayList currentOrders = customer.getOrders(); - currentOrders.add(lastOrder); - customer.setOrders(currentOrders); - model.setPerson(personToEdit, customer); - return new CommandResult(generateSuccessMessage()); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 5ac504a6f8..13273e9952 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -2,6 +2,7 @@ import static java.util.Objects.requireNonNull; +import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; @@ -94,6 +95,13 @@ public void addPerson(Person p) { public void addOrder(Order order) { int orderCounter = orders.getOrderIdCounter(); order.setID(orderCounter); + + Person editedCustomer = order.getCustomer(); + ArrayList listToEdit = editedCustomer.getOrders(); + listToEdit.add(order); + editedCustomer.setOrders(listToEdit); + this.setPerson(order.getCustomer(), editedCustomer); + orders.addOrder(order); } @@ -152,11 +160,13 @@ public void removePerson(Person key) { */ public void removeOrder(int id) { Order orderToDelete = this.findOrderByIndex(id); - Person personToEdit = orderToDelete.getCustomer(); - ArrayList listToEdit = personToEdit.getOrders(); + + Person editedCustomer = orderToDelete.getCustomer(); + ArrayList listToEdit = editedCustomer.getOrders(); listToEdit.remove(orderToDelete); - personToEdit.setOrders(listToEdit); - this.setPerson(orderToDelete.getCustomer(), personToEdit); + editedCustomer.setOrders(listToEdit); + this.setPerson(orderToDelete.getCustomer(), editedCustomer); + orders.deleteOrder(id); } From 9f02cee8a0285c744337df2d8e610308d0602d38 Mon Sep 17 00:00:00 2001 From: chonghaoen Date: Tue, 26 Mar 2024 22:16:16 +0800 Subject: [PATCH 3/3] Fix style --- src/main/java/seedu/address/model/AddressBook.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 13273e9952..b4c0472f86 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -2,7 +2,6 @@ import static java.util.Objects.requireNonNull; -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List;