Advertisement
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, balance;
- public String firstName, lastName, gender, identityCard, userName, password, roomType;
- public String checkInTime, checkOutTime, service, loggedIn;
- Scanner input = new Scanner(System.in);
- ArrayList<String> list = new ArrayList<>();
- public Admin() {
- }
- /* @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();
- checkInTime = "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+"','"+checkInTime+"','"+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 = "Single Room"; break;
- case 2: s = "Double Room"; 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 {
- // estalish 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);
- }
- }
- //nedovrsena metoda
- public void checkOnlineStatus() {
- System.out.println(list);
- System.out.println("No\tUserName");
- System.out.println("------------------");
- for (int i = 1; i <= list.size(); i++) {
- System.out.print(i + "\t" + list.get(i - 1));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement