Advertisement
Guest User

Class Admin

a guest
Sep 24th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.43 KB | None | 0 0
  1. package group_project;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.ResultSetMetaData;
  8. import java.sql.SQLException;
  9. import java.sql.Statement;
  10. import java.util.ArrayList;
  11. import java.util.Scanner;
  12.  
  13. public class Admin {
  14. public int ID, age, roomNum, balance;
  15. public String firstName, lastName, gender, identityCard, userName, password, roomType;
  16. public String checkInTime, checkOutTime, service, loggedIn;
  17. Scanner input = new Scanner(System.in);
  18. ArrayList<String> list = new ArrayList<>();
  19.  
  20.  
  21.  
  22. public Admin() {
  23.  
  24. }
  25.  
  26.  
  27. /* @author Jasmin Bektic
  28. *
  29. * Method confirms connection */
  30. public Connection getConnection() {
  31. try {
  32. String driver = "com.mysql.jdbc.Driver";
  33. String url = "jdbc:mysql://localhost:3306/hotel";
  34. String user = "root";
  35. String pass = "";
  36. Class.forName(driver);
  37.  
  38. //Connecting with provided url,userName and pass
  39. Connection con = DriverManager.getConnection(url, user, pass);
  40. return con;
  41. } catch (Exception e) { //Catch errors
  42. System.out.println(e);
  43. }
  44. return null;
  45. }
  46.  
  47. public void checkGuest() {
  48.  
  49. }
  50.  
  51. public void enterInfo() throws SQLException {
  52. firstName = "John";
  53. lastName = "Snow";
  54. gender = "m";
  55. identityCard = "123456";
  56. age = 29;
  57. roomNum = checkAvailableRoom();
  58. roomType = roomType();
  59. checkInTime = "14:05";
  60. userName = checkAvailableUserName();
  61. password = "123456";
  62.  
  63. Connection con = getConnection();
  64. 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+"')";
  65. PreparedStatement statement = con.prepareStatement(sql);
  66.  
  67. statement.executeUpdate();
  68. }
  69.  
  70. /* @author Davor Sadikovic
  71. *
  72. * Method for checking available rooms */
  73. public int checkAvailableRoom() throws SQLException {
  74. Statement s = getConnection().createStatement();
  75. s.executeQuery("SELECT RoomNumber FROM information");
  76. ResultSet rs = s.getResultSet();
  77. System.out.print("Occupied room numbers: ");
  78.  
  79. //Listing occupied rooms
  80. while (rs.next()) {
  81. int room = rs.getInt("RoomNumber");
  82. System.out.print(room + " ");
  83. }
  84. System.out.println();
  85. rs.close ();
  86. s.close ();
  87.  
  88. //Assign room number for a guest
  89. System.out.println("Enter room number for a guest:");
  90. int num = input.nextInt();
  91. return num;
  92. }
  93.  
  94. /* @author Jasmin Bektic
  95. *
  96. * Assign room type for guest */
  97. public String roomType() {
  98. System.out.println("\nChoose option:\n1- Single Room\n2- Double Room\n3- Apartment");
  99. int option = input.nextInt();
  100. String s = "";
  101. switch (option) {
  102. case 1: s = "Single Room"; break;
  103. case 2: s = "Double Room"; break;
  104. case 3: s = "Apartment"; break;
  105. }
  106. return s;
  107. }
  108.  
  109. /* @author Jasmin Bektic
  110. *
  111. * Method checking available user name */
  112. public String checkAvailableUserName() throws SQLException {
  113. ArrayList<String> li = new ArrayList<>();
  114. Statement s = getConnection().createStatement ();
  115. s.executeQuery("SELECT UserName FROM information");
  116. ResultSet rs = s.getResultSet();
  117. System.out.println("Assign username:");
  118. String user = input.next();
  119.  
  120. //Transfering user names from database to array
  121. while (rs.next()) {
  122. String str = rs.getString("UserName");
  123. li.add(str);
  124. }
  125. rs.close ();
  126. s.close ();
  127.  
  128. //Compare user name to names from array
  129. for (int i = 0; i < li.size(); i++) {
  130. if (user.equals(li.get(i))) {
  131. System.out.println("User name already exist, try another one:");
  132. user = input.next();
  133. i = 0;
  134. }
  135. }
  136. return user;
  137. }
  138.  
  139. /* @author Maja Vasilic
  140. *
  141. * providing information from database based on entry */
  142. public void searchDatabase(String s) throws Exception {
  143. try {
  144. // estalish connection to the database invoking method
  145. Connection con = getConnection();
  146. // var query with SQL query
  147. String query = "SELECT * FROM hotel.information WHERE FirstName = ? OR IdentityCard= ? OR UserName = ?";
  148. // create statement
  149. PreparedStatement statement = con.prepareStatement(query);
  150.  
  151. // actual values are set to parameters
  152. statement.setString(1, s);
  153. statement.setString(2, s);
  154. statement.setString(3, s);
  155. //query execution
  156. ResultSet result = statement.executeQuery();
  157.  
  158. ResultSetMetaData rsmd = result.getMetaData();
  159. int columnCount = rsmd.getColumnCount();
  160.  
  161. String format = "%-20s";
  162.  
  163. // print column names
  164. for (int i = 1; i <= columnCount; i++) {
  165. System.out.printf(format, rsmd.getColumnLabel(i));
  166. }
  167. System.out.println();
  168.  
  169. // print underline
  170. for (int i = 1; i <= columnCount * 20; i++) {
  171. System.out.print("_");
  172. }
  173. System.out.println();
  174.  
  175. // print information from database
  176. while (result.next()) {
  177. for (int i = 1; i <= columnCount; i++) {
  178. System.out.printf(format, result.getString(i));
  179. }
  180. System.out.println();
  181. }
  182. } catch (Exception e) {
  183. System.out.println(e);
  184. }
  185. }
  186.  
  187. //nedovrsena metoda
  188. public void checkOnlineStatus() {
  189. System.out.println(list);
  190. System.out.println("No\tUserName");
  191. System.out.println("------------------");
  192. for (int i = 1; i <= list.size(); i++) {
  193. System.out.print(i + "\t" + list.get(i - 1));
  194. }
  195. }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement