Untitled
unknown
java
a year ago
3.5 kB
5
Indexable
package assignments.assignment3.systemCLI;
import java.util.Arrays;
import assignments.assignment3.Menu;
import assignments.assignment3.Restaurant;
public class AdminSystemCLI extends UserSystemCLI {
@Override
boolean handleMenu(int command) {
switch (command) {
case 1 -> handleTambahRestoran();
case 2 -> handleHapusRestoran();
case 3 -> {
return false;
}
default -> System.out.println("Perintah tidak diketahui, silakan coba kembali");
}
return true;
}
@Override
void displayMenu() {
System.out.println("\n--------------------------------------------");
System.out.println("Pilih menu:");
System.out.println("1. Tambah Restoran");
System.out.println("2. Hapus Restoran");
System.out.println("3. Keluar");
System.out.println("--------------------------------------------");
System.out.print("Pilihan menu: ");
}
private void handleTambahRestoran() {
System.out.println("--------------Tambah Restoran---------------");
Restaurant restaurant = null;
while (restaurant == null) {
String namaRestaurant = getValidRestaurantName();
restaurant = new Restaurant(namaRestaurant);
restaurant = handleTambahMenuRestaurant(restaurant);
}
restoList.add(restaurant);
System.out.print("Restaurant " + restaurant.getNama() + " Berhasil terdaftar.");
}
private Restaurant handleTambahMenuRestaurant(Restaurant restoran) {
System.out.print("Jumlah Makanan: ");
int jumlahMenu = Integer.parseInt(input.nextLine().trim());
boolean isMenuValid = true;
for (int i = 0; i < jumlahMenu; i++) {
String inputValue = input.nextLine().trim();
String[] splitter = inputValue.split(" ");
String hargaStr = splitter[splitter.length - 1];
boolean isDigit = checkIsDigit(hargaStr);
String namaMenu = String.join(" ", Arrays.copyOfRange(splitter, 0, splitter.length - 1));
if (isDigit) {
int hargaMenu = Integer.parseInt(hargaStr);
restoran.addMenu(new Menu(namaMenu, hargaMenu));
} else {
isMenuValid = false;
}
}
if (!isMenuValid) {
System.out.println("Harga menu harus bilangan bulat!");
System.out.println();
}
return isMenuValid ? restoran : null;
}
private void handleHapusRestoran() {
System.out.println("--------------Hapus Restoran----------------");
boolean isActionDeleteEnded = false;
while (!isActionDeleteEnded) {
System.out.print("Nama Restoran: ");
String restaurantName = input.nextLine().trim();
boolean isRestaurantExist = restoList.stream()
.anyMatch(restaurant -> restaurant.getNama().toLowerCase().equals(restaurantName.toLowerCase()));
if (!isRestaurantExist) {
System.out.println("Restoran tidak terdaftar pada sistem.");
System.out.println();
} else {
restoList.removeIf(
restaurant -> restaurant.getNama().toLowerCase().equals(restaurantName.toLowerCase()));
System.out.println("Restoran berhasil dihapus");
isActionDeleteEnded = true;
}
}
}
}Editor is loading...
Leave a Comment