Skip to content

Commit

Permalink
"Fixed Booking"
Browse files Browse the repository at this point in the history
  • Loading branch information
Joseph Garner authored and Joseph Garner committed May 21, 2017
1 parent 30e1873 commit c850d77
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 21 deletions.
37 changes: 19 additions & 18 deletions assignment/src/gui/LoginController.java
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ else if(program.getUser().getAccountType() == 2)
log.debug("LOGGER: Account Type = 2");
IUser admin = userFactory.getUser("SuperUser");
admin.getUserWindow();
popcmb();
}
}
else{
Expand Down Expand Up @@ -263,8 +264,8 @@ public void ini()
connect.addBusinessOwner(businessID, "Luke", "Mason", "0417125229", "80 Stanton Grove Lilydale", "05:00", "06:30", "05:00", "07:00");
connect.addUser("William", "Apples22", 0,businessID); // customer attached to Business 2
connect.addUser("Hannah", "Apples22", 0,businessID); // customer attached to Business 2
connect.addUserDetails(3, "William", "Porter", "will@mail.com", "0452368593", "01/01/2002", "Male");
connect.addUserDetails(4, "Hannah", "Hawlking", "hannah@mail.com", "0452136859", "20/04/1995", "Famale");
connect.addUserDetails(3, "William", "Porter", "will@mail.com", "0452368593", "01/01/2002", "Male", businessID);
connect.addUserDetails(4, "Hannah", "Hawlking", "hannah@mail.com", "0452136859", "20/04/1995", "Famale", businessID);
connect.addUser("Test1234", "Apples22", 0,6);
connect.addEmployee("Luke Charles",25,businessID);
connect.addEmployee("David Smith",26.6,businessID);
Expand Down Expand Up @@ -378,23 +379,23 @@ public void ini()
connect.addService(new Service("Service 3",90,60,4));


connect.addBooking(2,1, "21/04/2017", "10:00", "10:40", 1,"active",1);
connect.addBooking(2,2, "22/04/2017", "11:00", "11:59", 2,"canceled",1);
connect.addBooking(2,1, "23/04/2017", "10:00", "10:40", 3,"canceled",1);
connect.addBooking(2,2, "24/04/2017", "11:00", "11:59", 2,"canceled",1);
connect.addBooking(2,3, "25/04/2017", "8:00", "8:40", 2, "active",1);
connect.addBooking(2,2, "26/04/2017", "8:00", "8:40", 2, "canceled",1);
connect.addBooking(2,1, "21/04/2017", "10:00", "10:40", 1,"active",2);
connect.addBooking(2,2, "22/04/2017", "11:00", "11:59", 2,"canceled",2);
connect.addBooking(2,1, "23/04/2017", "10:00", "10:40", 3,"canceled",2);
connect.addBooking(2,2, "24/04/2017", "11:00", "11:59", 2,"canceled",2);
connect.addBooking(2,3, "25/04/2017", "8:00", "8:40", 2, "active",2);
connect.addBooking(2,2, "26/04/2017", "8:00", "8:40", 2, "canceled",2);
connect.addBooking(2,3, "27/04/2017", "10:00", "10:40", 1,"active",3);
connect.addBooking(2,2, "28/04/2017", "11:00", "11:59", 1,"active",3);
connect.addBooking(2,3, "29/04/2017", "8:00", "8:40", 1, "canceled",3);
connect.addBooking(3,2, "21/04/2017", "10:00", "10:40", 1,"active",1);
connect.addBooking(3,2, "22/04/2017", "11:00", "11:59", 2,"canceled",1);
connect.addBooking(3,1, "23/04/2017", "10:00", "10:40", 3,"canceled",1);
connect.addBooking(3,2, "24/04/2017", "11:00", "11:59", 2,"canceled",1);
connect.addBooking(4,3, "25/04/2017", "8:00", "8:40", 2, "active",1);
connect.addBooking(4,2, "26/04/2017", "8:00", "8:40", 2, "canceled",1);
connect.addBooking(4,1, "21/04/2017", "10:00", "10:40", 1,"active",2);
connect.addBooking(4,2, "22/04/2017", "11:00", "11:59", 2,"canceled",2);
connect.addBooking(4,1, "23/04/2017", "10:00", "10:40", 3,"canceled",2);
connect.addBooking(4,2, "24/04/2017", "11:00", "11:59", 2,"canceled",2);
connect.addBooking(3,3, "25/04/2017", "8:00", "8:40", 2, "active",2);
connect.addBooking(3,2, "26/04/2017", "8:00", "8:40", 2, "canceled",2);
connect.addBooking(3,3, "27/04/2017", "10:00", "10:40", 1,"active",3);
connect.addBooking(3,2, "28/04/2017", "11:00", "11:59", 1,"active",3);
connect.addBooking(4,3, "29/04/2017", "8:00", "8:40", 1, "canceled",3);

connect.addBooking(2,1, "24/05/2017", "8:00", "8:40", 2, "active",3);
connect.addBooking(3,1, "24/05/2017", "8:00", "8:40", 2, "active",3);
connect.addBooking(3,1, "16/07/2017", "10:00", "10:40", 3,"active",4);
connect.addBooking(3,2, "14/05/2017", "11:00", "11:59", 1,"active",4);
connect.addBooking(3,1, "4/05/2017", "10:00", "10:40", 2,"active",4);
Expand Down
14 changes: 13 additions & 1 deletion assignment/src/gui/RootController.java
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,19 @@ public void refresh(){

@FXML
public void delete(){

int id = listviewBO.getSelectionModel().getSelectedItem().getBusinessId();
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Delete");
alert.setHeaderText("Delete Business?");
alert.setContentText("Are you sure?");

Optional<ButtonType> result = alert.showAndWait();
if (result.get() == ButtonType.OK) {
con.deleteUser(id);
refresh();
} else {
return;
}
}

@FXML
Expand Down
86 changes: 85 additions & 1 deletion assignment/src/program/DatabaseConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,24 @@ public void addUserDetails(int id, String fname, String lname, String email, Str
log.info("OUT addUserDetails\n");
}

/**
* Adds User to database
* @param username
* @param password
* @param accountType
*/
public void addUserDetails(int id, String fname, String lname, String email, String phone, String dob, String gender, int businessID)
{
log.info("IN addUserDetails\n");
/*
* account type boolean 1 for business owner 0 for user
*/
User user = getUser(id);
String query = "INSERT INTO CLIENTDETAILS(id, FName, LName, Email, Phone, DOB, Gender, businessID) " + "VALUES("+id+",'"+fname+"','"+lname+"','"+email+"','"+phone+"','"+dob+"','"+gender+"',"+businessID+")";
executeQuery(query, "User Added\n");
log.info("OUT addUserDetails\n");
}

/**
* Gets where the user name keyword matches another users name
* @param username
Expand Down Expand Up @@ -130,6 +148,47 @@ public User getUser(int id)
return databaseUser;
}

/**
* Gets where the user name keyword matches another users name
* @param username
* @return User Object
*/
public User getUser(int BID, String val)
{
log.info("IN getUser\n");
int _id = 0;
String _username = "null";
String _password = "null";
int _accountType = 0;
int businessID = -1;
String query = "SELECT * FROM users WHERE businessID = ?";
//Creates a null user to return, this can be used to validate user at login
User databaseUser = null;
try (Connection connect = this.connect(); PreparedStatement inject = connect.prepareStatement(query))
{
//Sets '?' to user name in the query
//crates a user from the found information
inject.setInt(1,BID);
ResultSet output = inject.executeQuery();
while (output.next()){
_id = output.getInt(1);
_username = output.getString(2);
_password = output.getString(3);
_accountType = output.getInt(4);
businessID = output.getInt(5);
}
databaseUser = new User(_id ,_username, _password, _accountType, businessID);
output.close();
}
catch(SQLException sqle)
{
//System.out.println("Getting User: "+sqle.getMessage());
log.warn(sqle.getMessage());
}
log.info("OUT getUser\n");
return databaseUser;
}

/**
* Gets where the user name keyword matches another users name
* @param username
Expand Down Expand Up @@ -1011,7 +1070,7 @@ public void createBooking(Booking book){
public void addBusinessOwner(int id, String fName,String lName,String phone,String address,String weekdayStart,String weekdayEnd,String weekendStart ,String weekendEnd){
log.info("IN addBusinessToDatabase\n");
//BusinessID is made in the database
String query = "INSERT INTO BUSINESS_OWNER (ID,fName,lName,phone,address,weekdayStart,weekdayEnd,weekendStart, weekendEnd)" + "VALUES("+id+",'"+ fName + "','"+ lName + "','"+ phone + "','"+ address + "','"+weekdayStart+"','" + weekdayEnd + "','" + weekendStart + "','"+weekendEnd+"', 1);";
String query = "INSERT INTO BUSINESS_OWNER (ID,fName,lName,phone,address,weekdayStart,weekdayEnd,weekendStart, weekendEnd, color)" + "VALUES("+id+",'"+ fName + "','"+ lName + "','"+ phone + "','"+ address + "','"+weekdayStart+"','" + weekdayEnd + "','" + weekendStart + "','"+weekendEnd+"', 1);";
try(Connection connect = this.connect(); Statement inject = connect.createStatement())
{
inject.executeUpdate(query);
Expand Down Expand Up @@ -1272,4 +1331,29 @@ public String getlogo(int id){
}
return val;
}

/**
* Delete user from database
* @param userName
*/
public void deleteUser(int businessID)
{
log.info("IN deleteUser\n");
String query = "DELETE FROM BUSINESS WHERE businessID = "+businessID+";";
String query1 = "DELETE FROM users WHERE businessID = "+businessID+";";
int id = getOneBusiness(getUser(businessID,"").getID()).getID();
String query2 = "DELETE FROM BUSINESS_OWNER WHERE ID = "+id+";";
String query3 = "DELETE FROM CLIENTDETAILS WHERE businessID = "+businessID+";";
String query4 = "DELETE FROM EMPLOYEES WHERE businessID = "+businessID+";";
String query5 = "DELETE FROM BOOKINGS WHERE businessID = "+businessID+";";
String query6 = "DELETE FROM SERVICES WHERE businessID = "+businessID+";";
executeQuery(query, "Business " + businessID + " deleted\n");
executeQuery(query1, "User " + businessID + " deleted\n");
executeQuery(query2, "BUSINESS_OWNER " + businessID + " deleted\n");
executeQuery(query3, "CLIENTDETAILS " + businessID + " deleted\n");
executeQuery(query4, "EMPLOYEES " + businessID + " deleted\n");
executeQuery(query5, "BOOKINGS " + businessID + " deleted\n");
executeQuery(query6, "SERVICES " + businessID + " deleted\n");
log.info("OUT deleteUser\n");
}
}
2 changes: 1 addition & 1 deletion assignment/src/program/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public String getPassword()
{
return _password;
}
public String getFullName(){return fullName;}
public String getFullName(){return _fname+" "+_lname;}
public String getFName(){return _fname;}
public String getLName(){return _lname;}
public String getPhone(){return _phone;}
Expand Down

0 comments on commit c850d77

Please sign in to comment.