|
|
|
@ -1,10 +1,14 @@
|
|
|
|
|
import java.net.SocketOption;
|
|
|
|
|
import java.text.DateFormat;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.time.DateTimeException;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
|
import java.time.format.DateTimeParseException;
|
|
|
|
|
import java.time.format.SignStyle;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Calendar;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Scanner;
|
|
|
|
|
|
|
|
|
|
public class TextMenu {
|
|
|
|
@ -36,8 +40,17 @@ for (int i = 0; i < options.length; i++){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void list(ArrayList<PackageInfo> packageList){
|
|
|
|
|
|
|
|
|
|
if (packageList.size() == 0){
|
|
|
|
|
System.out.println("No packages to show");
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
for (int i=0; i < packageList.size(); i++){
|
|
|
|
|
System.out.println("Package #" + i+1);
|
|
|
|
|
System.out.println(packageList.get(i).toString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void add(ArrayList<PackageInfo> packageList){
|
|
|
|
|
Scanner scan = new Scanner(System.in);
|
|
|
|
|
String pName;
|
|
|
|
@ -49,19 +62,52 @@ public void list(ArrayList<PackageInfo> packageList){
|
|
|
|
|
System.out.println("notes:");
|
|
|
|
|
String pNotes = scan.nextLine();
|
|
|
|
|
boolean checkDate = false;
|
|
|
|
|
while (checkDate == false) {
|
|
|
|
|
try {
|
|
|
|
|
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-mm-dd hh-mm");
|
|
|
|
|
LocalDateTime pDate=LocalDateTime.now();
|
|
|
|
|
|
|
|
|
|
while (checkDate == false){
|
|
|
|
|
//try {
|
|
|
|
|
System.out.println("enter date as yyyy-mm-dd hh-mm:");
|
|
|
|
|
LocalDateTime pDate = LocalDateTime.parse(scan.nextLine());
|
|
|
|
|
} catch (DateTimeParseException e) {
|
|
|
|
|
System.out.println("invalid date format");
|
|
|
|
|
}
|
|
|
|
|
checkDate = true;
|
|
|
|
|
pDate = LocalDateTime.parse(scan.nextLine(), format);
|
|
|
|
|
checkDate = true;
|
|
|
|
|
//}
|
|
|
|
|
//catch (DateTimeParseException e) {
|
|
|
|
|
//System.out.println("invalid date format");
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
double pPrice;
|
|
|
|
|
do {
|
|
|
|
|
System.out.println("enter price:");
|
|
|
|
|
pPrice = scan.nextDouble();
|
|
|
|
|
}
|
|
|
|
|
while (pPrice < 0);
|
|
|
|
|
double pWeight;
|
|
|
|
|
do {
|
|
|
|
|
System.out.println("enter weight:");
|
|
|
|
|
pWeight = scan.nextDouble();
|
|
|
|
|
}
|
|
|
|
|
while (pWeight <= 0);
|
|
|
|
|
|
|
|
|
|
public void remove(ArrayList<PackageInfo> packageList){
|
|
|
|
|
packageList.add(new PackageInfo(pName, pNotes, pPrice, pWeight, false, pDate));
|
|
|
|
|
System.out.println(pName + " has been added to the list!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void remove(ArrayList<PackageInfo> packageList) {
|
|
|
|
|
this.list(packageList);
|
|
|
|
|
if (packageList.size() == 0){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Scanner scan = new Scanner(System.in);
|
|
|
|
|
int n;
|
|
|
|
|
do {
|
|
|
|
|
System.out.println("enter item number you want to remove (0 to cancel):");
|
|
|
|
|
n = scan.nextInt();
|
|
|
|
|
}
|
|
|
|
|
while (n < 0 || n > packageList.size());
|
|
|
|
|
if (n > 0){
|
|
|
|
|
System.out.println(packageList.get(n-1).getName() + " has been removed from the list.");
|
|
|
|
|
packageList.remove(n-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void overDueList(ArrayList<PackageInfo> packageList){
|
|
|
|
@ -72,7 +118,32 @@ public void list(ArrayList<PackageInfo> packageList){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ArrayList<PackageInfo> getUndelivered(List<PackageInfo> packageList){
|
|
|
|
|
ArrayList<PackageInfo> undelivered = new ArrayList<>();
|
|
|
|
|
for (PackageInfo package: packageList){
|
|
|
|
|
if (package.getDelivered() == false){
|
|
|
|
|
undelivered.add(package);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return undelivered;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void markDelivered(ArrayList<PackageInfo> packageList){
|
|
|
|
|
ArrayList<PackageInfo> undelivered=getUndelivered(packageList);
|
|
|
|
|
if (packageList.size() == 0){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Scanner scan = new Scanner(System.in);
|
|
|
|
|
int n;
|
|
|
|
|
do {
|
|
|
|
|
System.out.println("enter item number you want to mark delivered (0 to cancel):");
|
|
|
|
|
n = scan.nextInt();
|
|
|
|
|
}
|
|
|
|
|
while (n < 0 || n > packageList.size());
|
|
|
|
|
if (n > 0){
|
|
|
|
|
System.out.println(packageList.get(n-1).getName() + " has been removed from the list.");
|
|
|
|
|
packageList.remove(n-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|