-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
148 lines (121 loc) · 6.67 KB
/
Copy pathMain.java
File metadata and controls
148 lines (121 loc) · 6.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
import java.util.*;
public class Main {
public static void main(String[] args) {
MenuManagement menuManagement = new MenuManagement();
OrderManagement orderManagement = new OrderManagement();
CustomerManagement customerManagement = new CustomerManagement();
InventoryManagement inventoryManagement = new InventoryManagement();
PaymentManagement paymentManagement = new PaymentManagement();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. Enter New Order");
System.out.println("2. View Your Current Orders");
System.out.println("3. Process Next Orders");
System.out.println("4. Register Customer");
System.out.println("5. Update Customer Information");
System.out.println("6. Search Customer by ID");
System.out.println("7. Check Inventory Levels");
System.out.println("8. Restock Inventory");
System.out.println("9. Process Payment");
System.out.println("10. Refund customer Payment");
System.out.println("11. Exit");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
List<OrderItem> orderedItems = new LinkedList<>();
String continueOrder;
do {
menuManagement.displayMenu();
System.out.println("Enter the item name to order:");
String itemName = scanner.nextLine();
MenuItem menuItem = menuManagement.findMenuItem(itemName);
if (menuItem != null) {
System.out.println("Enter quantity for " + itemName + ":");
int quantity = scanner.nextInt();
scanner.nextLine(); // Consume newline
orderedItems.add(new OrderItem(menuItem, quantity));
inventoryManagement.updateInventoryAfterOrder(itemName, quantity);
System.out.println(itemName + " added to your order with quantity " + quantity + ".");
} else {
System.out.println("Item not found. Please try again.");
}
System.out.println("Would you like to add another item? (yes/no)");
continueOrder = scanner.nextLine().toLowerCase();
} while (continueOrder.equals("yes"));
orderManagement.placeNewOrder(orderedItems);
break;
case 2:
orderManagement.viewCurrentOrders();
break;
case 3:
orderManagement.processNextOrder();
break;
case 4:
System.out.println("Enter Customer ID:");
int customerId = scanner.nextInt();
scanner.nextLine(); // Consume newline
System.out.println("Enter Customer Name:");
String customerName = scanner.nextLine();
System.out.println("Enter Customer Phone Number:");
String phoneNumber = scanner.nextLine();
Customer customer = new Customer(customerId, customerName, phoneNumber);
customerManagement.registerCustomer(customer);
break;
case 5:
System.out.println("Enter Customer ID to update:");
int updateCustomerId = scanner.nextInt();
scanner.nextLine(); // Consume newline
System.out.println("Enter updated Customer Name:");
String updateCustomerName = scanner.nextLine();
System.out.println("Enter updated Customer Address:");
String updatephoneNumber = scanner.nextLine();
Customer updatedCustomer = new Customer(updateCustomerId, updateCustomerName, updatephoneNumber);
customerManagement.updateCustomerInformation(updatedCustomer);
break;
case 6:
System.out.println("Enter Customer ID to search:");
int searchCustomerId = scanner.nextInt();
scanner.nextLine(); // Consume newline
Customer searchedCustomer = customerManagement.searchCustomerById(searchCustomerId);
if (searchedCustomer != null) {
System.out.println("Customer ID: " + searchedCustomer.id);
System.out.println("Customer Name: " + searchedCustomer.name);
System.out.println("Customer Address: " + searchedCustomer.phoneNumber);
} else {
System.out.println("Customer not found.");
}
break;
case 7:
inventoryManagement.checkInventoryLevels();
break;
case 8:
System.out.println("Enter the item name to restock:");
String restockItemName = scanner.nextLine();
System.out.println("Enter quantity to restock:");
int restockQuantity = scanner.nextInt();
scanner.nextLine(); // Consume newline
inventoryManagement.restockInventory(restockItemName, restockQuantity);
break;
case 9:
System.out.println("Enter Order ID for payment:");
int paymentOrderId = scanner.nextInt();
scanner.nextLine(); // Consume newline
System.out.println("Enter payment amount:");
double paymentAmount = scanner.nextDouble();
scanner.nextLine(); // Consume newline
PaymentTransaction paymentTransaction = new PaymentTransaction(paymentOrderId, paymentAmount);
paymentManagement.processPayment(paymentTransaction);
break;
case 10:
paymentManagement.refundPayment();
break;
case 11:
System.out.println("Exiting...");
return;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
}