Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package group_project;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Scanner;
- public class Admin {
- public int id, age, roomNum;
- public String firstName, lastName, gender, identityCard, userName, password, roomType, checkInDate, esDateUpdate, roomDateUpdate;
- final int[] extraService = {10, 10, 20, 10, 10};
- final int[] room = {20, 40, 60};
- Scanner input = new Scanner(System.in);
- ArrayList<String> list = new ArrayList<>();
- public Admin() {
- }
- public String getCheckInDate() throws SQLException {
- String query = "SELECT CheckInDate FROM information WHERE information.UserName = ?";
- PreparedStatement statement = getConnection().prepareStatement(query);
- statement.setString(1, userName);
- ResultSet rs = statement.executeQuery();
- if (rs.next()) {
- checkInDate = rs.getString(1);
- }
- return checkInDate;
- }
- public int getId() throws SQLException {
- String query = "SELECT ID FROM information WHERE information.UserName = ?";
- PreparedStatement s = getConnection().prepareStatement(query);
- s.setString(1, userName);
- ResultSet rs = s.executeQuery();
- if (rs.next()) {
- id = rs.getInt(1);
- }
- return id;
- }
- public ArrayList<String> getList() {
- return list;
- }
- public void setList(String s) {
- list.add(s);
- }
- /*
- * @author Jasmin Bektic
- *
- * Method confirms connection
- */
- public Connection getConnection() {
- try {
- String driver = "com.mysql.jdbc.Driver";
- String url = "jdbc:mysql://localhost:3306/hotel";
- String user = "root";
- String pass = "";
- Class.forName(driver);
- //Connecting with provided url,userName and pass
- Connection con = DriverManager.getConnection(url, user, pass);
- return con;
- } catch (Exception e) { //Catch errors
- System.out.println(e);
- }
- return null;
- }
- public void checkGuest() {
- }
- public void enterInfo() throws SQLException {
- firstName = "John";
- lastName = "Snow";
- gender = "m";
- identityCard = "123456";
- age = 29;
- roomNum = checkAvailableRoom();
- roomType = roomType();
- checkInDate = "14:05";
- userName = checkAvailableUserName();
- password = "123456";
- Connection con = getConnection();
- String sql = "INSERT INTO information (FirstName, LastName, Gender, IdentityCard, Age, RoomNumber, RoomType, CheckInTime, UserName, Password) VALUES ('"+firstName+"', '"+lastName+"', '"+gender+"', '"+identityCard+"', "+age+", "+roomNum+",'"+roomType+"','"+checkInDate+"','"+userName+"','"+password+"')";
- PreparedStatement statement = con.prepareStatement(sql);
- statement.executeUpdate();
- }
- /*
- * @author Davor Sadikovic
- *
- * Method for checking available rooms
- */
- public int checkAvailableRoom() throws SQLException {
- Statement s = getConnection().createStatement();
- s.executeQuery("SELECT RoomNumber FROM information");
- ResultSet rs = s.getResultSet();
- System.out.print("Occupied room numbers: ");
- //Listing occupied rooms
- while (rs.next()) {
- int room = rs.getInt("RoomNumber");
- System.out.print(room + " ");
- }
- System.out.println();
- rs.close ();
- s.close ();
- //Assign room number for a guest
- System.out.println("Enter room number for a guest:");
- int num = input.nextInt();
- return num;
- }
- /*
- * @author Jasmin Bektic
- *
- * Assign room type for guest
- */
- public String roomType() {
- System.out.println("\nChoose option:\n1- Single Room\n2- Double Room\n3- Apartment");
- int option = input.nextInt();
- String s = "";
- switch (option) {
- case 1: s = "SingleRoom"; break;
- case 2: s = "DoubleRoom"; break;
- case 3: s = "Apartment"; break;
- }
- return s;
- }
- /*
- * @author Jasmin Bektic
- *
- * Method checking available user name
- */
- public String checkAvailableUserName() throws SQLException {
- ArrayList<String> li = new ArrayList<>();
- Statement s = getConnection().createStatement();
- s.executeQuery("SELECT UserName FROM information");
- ResultSet rs = s.getResultSet();
- System.out.println("Assign username:");
- String user = input.next();
- //Transfering user names from database to array
- while (rs.next()) {
- String str = rs.getString("UserName");
- li.add(str);
- }
- rs.close ();
- s.close ();
- //Compare user name to names from array
- for (int i = 0; i < li.size(); i++) {
- if (user.equals(li.get(i))) {
- System.out.println("User name already exist, try another one:");
- user = input.next();
- i = 0;
- }
- }
- return user;
- }
- /*
- * @author Maja Vasilic
- *
- * providing information from database based on entry
- */
- public void searchDatabase(String s) throws Exception {
- try {
- // establish connection to the database invoking method
- Connection con = getConnection();
- // var query with SQL query
- String query = "SELECT * FROM hotel.information WHERE FirstName = ? OR IdentityCard= ? OR UserName = ?";
- // create statement
- PreparedStatement statement = con.prepareStatement(query);
- // actual values are set to parameters
- statement.setString(1, s);
- statement.setString(2, s);
- statement.setString(3, s);
- //query execution
- ResultSet result = statement.executeQuery();
- ResultSetMetaData rsmd = result.getMetaData();
- int columnCount = rsmd.getColumnCount();
- String format = "%-20s";
- // print column names
- for (int i = 1; i <= columnCount; i++) {
- System.out.printf(format, rsmd.getColumnLabel(i));
- }
- System.out.println();
- // print underline
- for (int i = 1; i <= columnCount * 20; i++) {
- System.out.print("_");
- }
- System.out.println();
- // print information from database
- while (result.next()) {
- for (int i = 1; i <= columnCount; i++) {
- System.out.printf(format, result.getString(i));
- }
- System.out.println();
- }
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- /*
- * @author Jasmin Bektic
- *
- * Method checking for online users
- */
- public void checkOnlineStatus() {
- printStatus();
- while (true) {
- System.out.println();
- System.out.println("Log out user choosing No:");
- int num = input.nextInt();
- //Option conditions and print status
- if (num > 0 && num < list.size() + 1) {
- list.remove(num - 1);
- printStatus();
- } else if (num == 0) {
- //metoda MENU
- } else if (num == list.size() + 1) {
- for (int i = list.size() - 1; i >= 0; i--) {
- list.remove(i);
- }
- printStatus();
- } else if (num == list.size() + 2) {
- System.exit(0);
- }
- }
- }
- /* Online status print method */
- public void printStatus() {
- System.out.println("\nNo\tUserName");
- System.out.println("-----------------");
- for (int i = 1; i <= list.size(); i++) {
- System.out.println(i + "\t" + list.get(i - 1));
- }
- if (list.size() == 0) {
- System.out.println("No users online!");
- }
- System.out.println("-----------------");
- System.out.println("0- Return to menu");
- System.out.println((list.size() + 1) + "- Log out all users");
- System.out.println((list.size() + 2) + "- Shut down");
- }
- }
Add Comment
Please, Sign In to add comment