Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.IOException;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Scanner;
- public class Driver {
- private String username;
- private String password;
- private boolean available;
- ArrayList<String> notifications = new ArrayList<String>(); //Declares new ArrayList of String objects called notifications
- public Driver(String username, String password, boolean av) {
- this.username = username;
- this.password = password;
- this.available = av;
- }
- public void printN(){ //printN() method declares new scanner called keyboard and prints username
- Scanner keyboard = new Scanner(System.in);
- System.out.println(username);
- }
- public Boolean checkPassword(String password) { //methods to check username & password inputted equals password of driver
- return this.password.equals(password);
- }
- public Boolean checkUsername(String username) {
- return this.username.equals(username);
- }
- public String getUsername() {
- return username;
- }
- public boolean isAvailable() { //isAvailable method returns true if driver is available, false if not.
- if(available)return true;
- else return false;
- }
- public void addNotification(String note){ //method to add a note to the notifications arrayList
- notifications.add(note);
- }
- public void printNotifications(){ //method to iterate through notifications arrayList and prints notifications for logged in user
- for (int i = 0; i < notifications.size(); i++) {
- System.out.println(notifications.get(i));
- }
- System.out.println(" ||-----------------------|| \n \n");
- }
- public Container setDate(){
- Scanner keyb = new Scanner(System.in);
- Container b = new Container();
- Container c = new Container();
- Date curDate = new Date(); //curDate gets assigned to current time
- c.SetContainer(false, 0);
- System.out.println(" Please enter the start date then end date in the format 7-Jun-2013 \n StartDate: ");
- String date1 = keyb.nextLine();
- System.out.println(" EndDate: \n");
- String date2 = keyb.nextLine();
- SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); //new SimpleDateFormat with format dd-mm-yyyy
- try {
- java.util.Date date = formatter.parse(date1); //formats 'date1' to SimpleDateFormat and assigns to 'date'
- java.util.Date date3 = formatter.parse(date2);
- Calendar calendar = Calendar.getInstance(); //creating two new calendars and setting them to 'date' so we
- Calendar calendar2 = Calendar.getInstance(); //can add or remove days and assigning these new dates to new variables
- calendar.setTime(date); //'datePlus3Days' & 'dateMinus2Days'. We then compare these against curDate
- calendar2.setTime(date); //to check if start & end date are valid
- calendar.add(Calendar.DAY_OF_MONTH, -2);
- calendar2.add(Calendar.DAY_OF_MONTH, +3);
- calendar2.add(Calendar.SECOND, +1);
- Date dateMinus2Days = calendar.getTime();
- Date datePlus3Days = calendar2.getTime();
- if (curDate.after(dateMinus2Days)) {
- System.out.println(" The start date must be at least 48 hours in advance & a maximum of 72 hours long! \n");
- setDate();
- }
- else if (curDate.before(dateMinus2Days))b.date1 = date;
- if (date3.before(datePlus3Days)){
- b.date2 = date3;
- b.isTrue = true;
- return b;
- }else {
- System.out.println(" The start date must be at least 48 hours in advance & a maximum of 72 hours long! \n");
- setDate();
- }
- } catch (ParseException e) {
- e.printStackTrace();
- return c;
- }
- return c;
- }
- public void setSchedule(String reg, String name) throws IOException { //method to setup a new schedule
- Date date = null;
- Date endDate = null;
- Date startDate = null;
- Scanner keyboard3 = new Scanner(System.in);
- System.out.println(" Please enter the clients name");
- String client = keyboard3.nextLine();
- Container temp = setDate();
- if(temp.isTrue = false){
- temp = setDate();
- }else {
- startDate = temp.date1;
- endDate = temp.date2;
- }
- String State = " Pending";
- System.out.print(" Your new schedule looks like this:" + "\n Client: " + client + "\n Driver: " + name + "\n Start Date: " + startDate + "\n End Date: " + endDate + "\n" + " Vehicle Reg: " + reg + "\n");
- WorkSchedule schedule = new WorkSchedule(name, client, startDate, endDate, reg, State);
- State = schedule.setState();
- schedule.handleState();
- System.out.println(" State:" + State + "\n \n");
- Depot.workSArray.add(schedule);
- Depot.setUpWorkSchedule();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement