Guest User

Untitled

a guest
Dec 14th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.80 KB | None | 0 0
  1. import java.sql.Connection;
  2. import java.sql.*;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;
  6. import java.time.LocalDate;
  7. import java.util.ArrayList;
  8. import java.util.Vector;
  9.  
  10. import javax.swing.table.DefaultTableModel;
  11.  
  12. import com.mysql.jdbc.PreparedStatement;
  13.  
  14. import net.proteanit.sql.DbUtils;
  15.  
  16. public class Model {
  17.  
  18. private View view;
  19. private adminView adminView;
  20. private PassengerView passengerview;
  21. private driverView driverview;
  22. private updateAccount update;
  23. private bookRide book;
  24. private registerVehicle register;
  25. private addFavorite favorite;
  26. private addPayment payment;
  27. private String url = "jdbc:mysql://localhost:3306/uber?useSSL=false";
  28. private String user = "root";
  29. private String pass = "nobunaga";
  30. private Users loggedin = new Users();
  31.  
  32.  
  33.  
  34. public void printText ( ) {
  35. try {
  36. // Get connection
  37. Connection myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/uber?useSSL=false", "root", "nobunaga");
  38. // create statement
  39. Statement myStmt = myConn.createStatement();
  40. // execute SQL query
  41. ResultSet myRs = myStmt.executeQuery("select * from user");
  42. // process
  43. while (myRs.next()) {
  44. System.out.println(myRs.getString("CelNo"));
  45. }
  46. }
  47. catch (Exception e) {
  48. e.printStackTrace();
  49. }
  50. }
  51.  
  52. public void logout () {
  53. this.setLoggedin(null);
  54. }
  55.  
  56. public void insertData (String fName, String lName, String email, String CelNumber, String password, LocalDate localDate, int type, String license) {
  57. if (type == 0) {
  58. try {
  59. // Get connection
  60. Connection myConn = DriverManager.getConnection(url, user, pass);
  61. // create statement
  62. Statement myStmt = myConn.createStatement();
  63. // execute SQL query
  64.  
  65. String sql = "insert into uber.user "
  66. + "(LastName, FirstName, Email, CelNo, Password, DateRegistered)"
  67. + " values ('" +lName +"','" +fName +"','" +email +"','" +CelNumber + "','"+password +"','" +localDate +"')";
  68. // process
  69. myStmt.executeUpdate(sql);
  70.  
  71. String sql2 = "INSERT into uber.passenger (PCelno) values ('" + CelNumber +"')";
  72. myStmt.executeUpdate(sql2);
  73.  
  74. System.out.println("Insertion complete");
  75.  
  76.  
  77.  
  78. }
  79. catch (Exception e) {
  80. e.printStackTrace();
  81. }
  82. }
  83. else if (type == 1) {
  84. try {
  85. // Get connection
  86. Connection myConn = DriverManager.getConnection(url, user, pass);
  87. // create statement
  88. Statement myStmt = myConn.createStatement();
  89. // execute SQL query
  90.  
  91. String sql = "INSERT INTO uber.user "
  92. + "(LastName, FirstName, Email, CelNo, Password, DateRegistered)"
  93. + " values ('" +lName +"','" +fName +"','" +email +"','" +CelNumber + "','"+password +"','" +localDate +"')";
  94. // process
  95. myStmt.executeUpdate(sql);
  96.  
  97. String sql2 = "INSERT into uber.driver (DCellNo, LicenseNo) values ('" + CelNumber +"','" +license + "')";
  98.  
  99. myStmt.executeUpdate(sql2);
  100.  
  101. System.out.println("Insertion complete");
  102.  
  103.  
  104.  
  105. }
  106. catch (Exception e) {
  107. e.printStackTrace();
  108. }
  109. }
  110. }
  111.  
  112. public void registerVehicle (String license, String color, String date, String type) {
  113. try {
  114. // Get connection
  115. Connection myConn = DriverManager.getConnection(url, user, pass);
  116. // create statement
  117. Statement myStmt = myConn.createStatement();
  118. // execute SQL query
  119.  
  120. String sql = "INSERT INTO uber.vehicle "
  121. + "(License, Color, Type, DateBought)"
  122. + " VALUES ('" +license +"','" +color +"','" +type +"','" +date + "')";
  123. // process
  124. myStmt.executeUpdate(sql);
  125.  
  126. System.out.println("Insertion complete");
  127.  
  128.  
  129. }
  130. catch (Exception e) {
  131. e.printStackTrace();
  132. }
  133. }
  134.  
  135. public void addPayment (String CardNo, String ExpiryDate, String CVV, String CellNo) {
  136. try {
  137. // Get connection
  138. Connection myConn = DriverManager.getConnection(url, user, pass);
  139. // create statement
  140. Statement myStmt = myConn.createStatement();
  141. // execute SQL query
  142.  
  143. String sql = "INSERT INTO uber.paymentmethod "
  144. + "(CardNo, ExpiryDate, CVV, CellNo)"
  145. + " VALUES ('" +CardNo +"','" +ExpiryDate +"','" +CVV +"','" +CellNo + "')";
  146. // process
  147. myStmt.executeUpdate(sql);
  148.  
  149. String sql2 = "INSERT INTO uber.passenger"
  150. + "(PaymentMethod)"
  151. + "VALUES (Credit Card)";
  152. myStmt.executeUpdate(sql2);
  153. System.out.println("Insertion complete");
  154.  
  155.  
  156. }
  157. catch (Exception e) {
  158. e.printStackTrace();
  159. }
  160. }
  161.  
  162. public void bookRide (String Start, String End, String Type) {
  163. try {
  164. // Get connection
  165. Connection myConn = DriverManager.getConnection(url, user, pass);
  166. // create statement
  167. Statement myStmt = myConn.createStatement();
  168. // execute SQL query
  169.  
  170. String sql1 = "SELECT Distance FROM uber.distances "
  171. + "WHERE StartPoint = '" +Start + "'"
  172. + "AND EndPoint = '" +End + "'";
  173.  
  174. ResultSet rs = myStmt.executeQuery(sql1);
  175. float distance = rs.getFloat("Distance");
  176.  
  177. String sql2 = "SELECT Multiplier FROM uber.vehicleclass"
  178. + "WHERE Type = '" +Type + "'";
  179. ResultSet rs2 = myStmt.executeQuery(sql2);
  180. float multiplier = rs.getFloat("Multiplier");
  181.  
  182. float fare = 100 * multiplier + distance *2;
  183.  
  184. String sql = "INSERT INTO uber.trip "
  185. + "(TotalFare, Type, DistanceCovered)"
  186. + " VALUES ('"+fare +"','" +Type + "','" +distance +"')";
  187. // process
  188. myStmt.executeUpdate(sql);
  189.  
  190.  
  191.  
  192. System.out.println("Insertion complete");
  193.  
  194.  
  195. }
  196. catch (Exception e) {
  197. e.printStackTrace();
  198. }
  199. }
  200.  
  201. public void addFavorite (String Unitno, String CelNo, String Street, String Village, String City) {
  202. try {
  203. // Get connection
  204. Connection myConn = DriverManager.getConnection(url, user, pass);
  205. // create statement
  206. Statement myStmt = myConn.createStatement();
  207. // execute SQL query
  208.  
  209. String sql = "INSERT INTO uber.favorites "
  210. + "(CellNo, UnitNo, StreetName, Village, City)"
  211. + " VALUES ('" +CelNo +"','" +Unitno + "','" +Street +"','" +Village + "','" +City + "')";
  212. // process
  213. myStmt.executeUpdate(sql);
  214.  
  215. System.out.println("Insertion complete");
  216.  
  217.  
  218. }
  219. catch (Exception e) {
  220. e.printStackTrace();
  221. }
  222. }
  223.  
  224. public void deleteData (String fName, String lName, String email, String CelNumber, String password, LocalDate localDate, int type, String license) {
  225. if (type == 0) {
  226. try {
  227. // Get connection
  228. Connection myConn = DriverManager.getConnection(url, user, pass);
  229. // create statement
  230. Statement myStmt = myConn.createStatement();
  231. // execute SQL query
  232.  
  233. String sql = "DELETE FROM uber.user LastName, FirstName, Email, CelNo, Password, DateRegistered"
  234. + "WHERE LastName = '" +lName + "' AND " +"FirstName = '" +fName + "' AND Email = '" +email + "' AND CelNo = '" +CelNumber + "' AND DateRegistered = '" +localDate +"'" ;
  235.  
  236. // process
  237. myStmt.executeUpdate(sql);
  238.  
  239. String sql2 = "DELETE FROM uber.driver PCellNo, LicenseNo WHERE PCellNo = '" + CelNumber +"' AND PaymentMethod = " + loggedin.getPaymentMethod();
  240.  
  241. myStmt.executeUpdate(sql2);
  242.  
  243. System.out.println("Insertion complete");
  244.  
  245. }
  246. catch (Exception e) {
  247. e.printStackTrace();
  248. }
  249. }
  250. else if (type == 1) {
  251. try {
  252. // Get connection
  253. Connection myConn = DriverManager.getConnection(url, user, pass);
  254. // create statement
  255. Statement myStmt = myConn.createStatement();
  256. // execute SQL query
  257.  
  258. String sql = "DELETE FROM uber.user LastName, FirstName, Email, CelNo, Password, DateRegistered"
  259. + "WHERE LastName = '" +lName + "' AND " +"FirstName = '" +fName + "' AND Email = '" +email + "' AND CelNo = '" +CelNumber + "' AND DateRegistered = '" +localDate +"'" ;
  260.  
  261. // process
  262. myStmt.executeUpdate(sql);
  263.  
  264. String sql2 = "DELETE FROM uber.driver DCellNo, LicenseNo WHERE DCellNo = '" + CelNumber +"', LicenseNo = '" +license + "')";
  265.  
  266. myStmt.executeUpdate(sql2);
  267.  
  268. System.out.println("Insertion complete");
  269.  
  270. }
  271. catch (Exception e) {
  272. e.printStackTrace();
  273. }
  274. }
  275. }
  276.  
  277. public void deleteAccount (Users loggedin) {
  278. if (loggedin.getsType() == "Driver") {
  279. try {
  280. System.out.println("Type = Driver");
  281. System.out.println("Cell Number: " +loggedin.getsCellNo());
  282. System.out.println("Password: " +loggedin.getsPassword());
  283. // Get connection
  284. Connection myConn = DriverManager.getConnection(url, user, pass);
  285. // create statement
  286. Statement myStmt = myConn.createStatement();
  287. // execute SQL query
  288.  
  289. String sql = "DELETE FROM uber.user WHERE CelNo = '" +loggedin.getsCellNo() + "'";
  290.  
  291. // process
  292. myStmt.executeUpdate(sql);
  293.  
  294.  
  295. String sql2 = "DELETE FROM uber.driver WHERE DCellNo = '" + loggedin.getsCellNo() + "'";
  296.  
  297. myStmt.executeUpdate(sql2);
  298.  
  299. System.out.println("Delete complete");
  300. }
  301.  
  302. catch (Exception e) {
  303. e.printStackTrace();
  304. }
  305. }
  306. else if (loggedin.getsType() == "Passenger") {
  307. try {
  308. System.out.println("Type = Passenger");
  309. System.out.println("Cell Number: " +loggedin.getsCellNo());
  310. System.out.println("Password: " +loggedin.getsPassword());
  311. // Get connection
  312. Connection myConn = DriverManager.getConnection(url, user, pass);
  313. // create statement
  314. Statement myStmt = myConn.createStatement();
  315. // execute SQL query
  316.  
  317. String sql = "DELETE FROM uber.user WHERE CelNo = '" +loggedin.getsCellNo() +"'";
  318.  
  319. // process
  320. myStmt.executeUpdate(sql);
  321.  
  322.  
  323. String sql2 = "DELETE FROM uber.passenger WHERE PCelNo = '" + loggedin.getsCellNo() + "'";
  324.  
  325. myStmt.executeUpdate(sql2);
  326.  
  327. System.out.println("Delete complete");
  328. }
  329.  
  330. catch (Exception e) {
  331. e.printStackTrace();
  332. }
  333. }
  334.  
  335. this.loggedin = null;
  336. }
  337.  
  338. public void updateData (String fName, String lName, String email, String CelNumber, String password, LocalDate localDate, int type, String license) {
  339. if (type == 1) {
  340. try {
  341. String temp = loggedin.getsCellNo();
  342. System.out.println("Temp =" +temp);
  343. // Get connection
  344. Connection myConn = DriverManager.getConnection(url, user, pass);
  345. // create statement
  346. Statement myStmt = myConn.createStatement();
  347. // execute SQL query
  348.  
  349. String sql = "UPDATE uber.user SET CelNo = '"+CelNumber +"', " + "FirstName = '" +fName +"', "+ "LastName = '" +lName + "', " + "Email = '"+email + "', "
  350. + "Password = '" +password +"'" + "WHERE CelNo = '" +temp +"'";
  351.  
  352. // process
  353. myStmt.executeUpdate(sql);
  354.  
  355.  
  356. String sql2 = "UPDATE uber.driver SET DCellNo = '"+CelNumber + "', LicenseNo = '" +license +"' WHERE DCellNo = '" + temp;
  357.  
  358. myStmt.executeUpdate(sql2);
  359.  
  360. System.out.println("Update complete");
  361. }
  362.  
  363. catch (Exception e) {
  364. e.printStackTrace();
  365. }
  366. }
  367. else if (type == 0) {
  368. try {
  369. String temp = loggedin.getsCellNo();
  370. System.out.println("Temp =" +temp);
  371. // Get connection
  372. Connection myConn = DriverManager.getConnection(url, user, pass);
  373. // create statement
  374. Statement myStmt = myConn.createStatement();
  375. // execute SQL query
  376.  
  377. String sql = "UPDATE uber.user SET CelNo = '"+CelNumber +"', " + "FirstName = '" +fName +"', "+ "LastName = '" +lName + "', " + "Email = '"+email + "', "
  378. + "Password = '" +password +"'" + "WHERE CelNo = '" +temp +"'";
  379.  
  380. // process
  381. myStmt.executeUpdate(sql);
  382.  
  383.  
  384. String sql2 = "UPDATE uber.driver SET PCelNo = '"+CelNumber + "' WHERE DCellNo = '" + temp + "'";
  385.  
  386. myStmt.executeUpdate(sql2);
  387.  
  388. System.out.println("Update complete");
  389. }
  390.  
  391. catch (Exception e) {
  392. e.printStackTrace();
  393. }
  394. }
  395. }
  396.  
  397. public int checkData (String CelNo, char[] Password, int type) {
  398. int x = 0;
  399. try {
  400. System.out.println(CelNo);
  401. String passString = new String(Password);
  402.  
  403. // Get connection
  404. Connection myConn = DriverManager.getConnection(url, user, pass);
  405.  
  406. if (type == 1) {
  407. String sql = "SELECT * FROM uber.user u, uber.passenger p WHERE PCelNo = '" +CelNo + "' " +"AND Password = '" + passString +"' AND p.PCelNo = u.CelNo";
  408. java.sql.PreparedStatement ps = myConn.prepareStatement(sql);
  409. ResultSet rs = ps.executeQuery();
  410. if (rs.next()) {
  411.  
  412. System.out.println("Welcome " +rs.getString("FirstName"));
  413. System.out.println("Passenger");
  414. x=1;
  415.  
  416.  
  417.  
  418. loggedin.setsType("Passenger");
  419. loggedin.setsFirstName(rs.getString("FirstName"));
  420. loggedin.setsLastName(rs.getString("LastName"));
  421. loggedin.setsCellNo(rs.getString("CelNo"));
  422. loggedin.setsPassword(rs.getString("Password"));
  423. loggedin.setsEmail(rs.getString("Email"));
  424.  
  425.  
  426. System.out.println("First Name: "+loggedin.getsFirstName());
  427. System.out.println("Last Name: "+loggedin.getsLastName());
  428. System.out.println("Cell Number: " +loggedin.getsCellNo());
  429. System.out.println("Password: " +loggedin.getsPassword());
  430.  
  431.  
  432.  
  433. }
  434. else
  435. return x;
  436.  
  437. }
  438. else if (type == 2) {
  439. String sql = "SELECT * FROM uber.driver d, uber.user u WHERE CelNo = '" +CelNo + "' " +"AND Password = '" + passString +"' AND d.DCellNo = u.CelNo";
  440. java.sql.PreparedStatement ps = myConn.prepareStatement(sql);
  441. ResultSet rs = ps.executeQuery();
  442. if (rs.next()) {
  443.  
  444. System.out.println("Welcome " +rs.getString("FirstName"));
  445. System.out.println("Driver");
  446. x=1;
  447.  
  448. Users u1 = new Users();
  449. u1.setsCellNo(CelNo);
  450. u1.setsPassword(passString);
  451. u1.setsType("Driver");
  452. loggedin = u1;
  453. }
  454. else
  455. return x;
  456.  
  457. }
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464. }
  465. catch (Exception e) {
  466. e.printStackTrace();
  467. }
  468.  
  469.  
  470.  
  471.  
  472. return x;
  473. }
  474.  
  475.  
  476. public DefaultTableModel buildTableModel(ResultSet rs)
  477. throws SQLException {
  478.  
  479. ResultSetMetaData metaData = rs.getMetaData();
  480.  
  481. // names of columns
  482. Vector<String> columnNames = new Vector<String>();
  483. int columnCount = metaData.getColumnCount();
  484. for (int column = 1; column <= columnCount; column++) {
  485. columnNames.add(metaData.getColumnName(column));
  486. }
  487.  
  488. // data of the table
  489. Vector<Vector<Object>> data = new Vector<Vector<Object>>();
  490. while (rs.next()) {
  491. Vector<Object> vector = new Vector<Object>();
  492. for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
  493. vector.add(rs.getObject(columnIndex));
  494. }
  495. data.add(vector);
  496. }
  497.  
  498. return new DefaultTableModel(data, columnNames);
  499.  
  500. }
  501.  
  502. public Users getLoggedin() {
  503. return loggedin;
  504. }
  505.  
  506. public void setLoggedin(Users loggedin) {
  507. this.loggedin = loggedin;
  508. }
  509.  
  510.  
  511.  
  512.  
  513. }
Add Comment
Please, Sign In to add comment