Advertisement
Guest User

Untitled

a guest
Feb 12th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package air_hotel_project;
  7.  
  8. import java.sql.Connection;
  9. import java.sql.Date;
  10. import java.sql.DriverManager;
  11. import java.sql.PreparedStatement;
  12. import java.sql.ResultSet;
  13. import java.sql.SQLException;
  14. import java.time.LocalDate;
  15. import java.time.format.DateTimeFormatter;
  16. import java.util.Locale;
  17. import java.util.concurrent.TimeUnit;
  18. import javafx.collections.FXCollections;
  19. import javafx.collections.ObservableList;
  20. import javafx.scene.control.DatePicker;
  21.  
  22. /**
  23. *
  24. * @author Shoumik
  25. */
  26. public class Controller {
  27. static Connection con;
  28. static PreparedStatement pst;
  29. static ResultSet rs;
  30. public static ObservableList<Hotel> hotelData;
  31. public static ObservableList<Flight> flightData;
  32. // public static UI myUI;
  33.  
  34. public Controller() {
  35. hotelData = FXCollections.observableArrayList();
  36. flightData = FXCollections.observableArrayList();
  37. }
  38.  
  39. public void EstablishConnection(){
  40. try {
  41. con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:globaldb", "shoumik", "shoumik");
  42. // showData();
  43. } catch (SQLException e) {
  44. // errorAlert("Invalid Username/Password", "Invalid Username/Password", null);
  45. }
  46. }
  47. public ObservableList<Hotel> getHotels(String location, DatePicker checkIn, DatePicker checkOut ){
  48. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy",Locale.US);
  49. String formattedValue = (checkIn.getValue()).format(formatter);
  50. LocalDate checkInDate = checkIn.getValue();
  51. Date date1 = java.sql.Date.valueOf(checkInDate);
  52. LocalDate localDateCurrent = LocalDate.now();
  53. Date date2 = java.sql.Date.valueOf(localDateCurrent);
  54. long diff = getDateDiff(date1, date2, TimeUnit.DAYS);
  55.  
  56. //String formattedValue1 = (datePicker1.getValue()).format(formatter);
  57. String sql = "SELECT H.PICTURE, H.HOTEL_NAME, (H.HOTEL_CITY ||','|| H.HOTEL_COUNTRY), R.ROOM_TYPE, (R.SINGLE_BED_COUNT ||','||R.DOUBLE_BED_COUNT) , ROOM.AIR_CONDITIONER, H.BREAKFAST, HR.HOTEL_ROOM_PRICE, H.BREAKFAST_PRICE, HR.INCREMENT_FOR_DATE \n" +
  58. "FROM HOTEL H \n" +
  59. "JOIN HOTEL_ROOM HR\n" +
  60. "ON (H.HOTEL_ID=HR.HOTEL_ID)\n" +
  61. "JOIN ROOM R\n" +
  62. "ON (R.ROOM_ID=HR.ROOM_ID)\n" +
  63. "WHERE (H.HOTEL_CITY='"+location+"' OR H.HOTEL_COUNTRY='"+location+"') AND HR.FULL_BOOKED_DATE<TO_DATE('"+formattedValue+"');";
  64. try {
  65. con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:globaldb", "shoumik", "shoumik123");
  66. pst = con.prepareStatement(sql);
  67. rs = pst.executeQuery();
  68. hotelData.clear();
  69. while (rs.next()) {
  70. //hotelData.add(new Hotel(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4)));
  71. float exp=rs.getFloat(8);
  72. float var=(float) (1.00/(Math.pow(diff, exp)));
  73. int price = (int) (rs.getInt(6)*(1.00+var));
  74. hotelData.add(new Hotel(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), price, rs.getInt(9)));
  75. // System.out.println(rs.getInt("team_id") + " , " + rs.getString(2) + " , " + rs.getString(3) + " , " + rs.getString(4) + " , " + rs.getString(5) + " , " + rs.getString(6));
  76. }
  77. } catch (SQLException e) {
  78. e.printStackTrace();
  79. }
  80. return hotelData;
  81. }
  82. public static void main(String[] args) {
  83. Controller controller = new Controller();
  84. controller.EstablishConnection();
  85. // controller.getHotels();
  86. UI.startInterface(args);
  87. }
  88.  
  89. public static long getDateDiff(Date date1, Date date2, TimeUnit timeUnit) {
  90. long diffInMillies = date2.getTime() - date1.getTime();
  91. return timeUnit.convert(diffInMillies,TimeUnit.MILLISECONDS);
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement