Advertisement
Guest User

sign up

a guest
Jun 11th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.04 KB | None | 0 0
  1. package application;
  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.SQLException;
  8. import java.time.LocalDate;
  9.  
  10. import javafx.event.ActionEvent;
  11. import javafx.event.EventHandler;
  12. import javafx.geometry.Insets;
  13. import javafx.geometry.Pos;
  14. import javafx.scene.Scene;
  15. import javafx.scene.control.Alert;
  16. import javafx.scene.control.Alert.AlertType;
  17. import javafx.scene.control.Button;
  18. import javafx.scene.control.ButtonType;
  19. import javafx.scene.control.ChoiceBox;
  20. import javafx.scene.control.DatePicker;
  21. import javafx.scene.control.PasswordField;
  22. import javafx.scene.control.TextField;
  23. import javafx.scene.layout.GridPane;
  24. import javafx.scene.text.Text;
  25. import javafx.stage.Stage;
  26.  
  27. public class SignUp extends Stage{
  28.    
  29.     public  SignUp(Stage prev) {
  30.         Stage current = this;
  31.         setAttribute(current , prev);
  32.        
  33.     }
  34.    
  35.     void setAttribute(Stage current , Stage prev) {
  36.         Text userName = new Text("user Name ");
  37.         Text pass = new Text("password ");
  38.         Text creditCard = new Text("credit number ");
  39.         Text FName = new Text("first name ");
  40.         Text Lname = new Text("last name ");
  41.         Text phone = new Text("phone number ");
  42.         Text shippingAddress = new Text("shipping address ");
  43.         Text EMail = new Text("E-mai");
  44.         Text expiredDate = new Text("expiredDate");
  45.         TextField userNameField = new TextField();
  46.         PasswordField passField = new PasswordField();
  47.         TextField creditField = new TextField();
  48.         TextField firstNameField = new TextField();
  49.         TextField lastNameField = new TextField();
  50.         TextField phoneField = new TextField();
  51.         TextField shippingField = new TextField();
  52.         TextField EMailField = new TextField();
  53.         DatePicker  expiredDateField = new DatePicker ();
  54.  
  55.         Text signUpChoice = new Text("sign up as :");
  56.         ChoiceBox signUpChoiceBox = new ChoiceBox();
  57.         signUpChoiceBox.getItems().addAll( "User","Manager");
  58.         signUpChoiceBox.getSelectionModel().selectFirst();
  59.  
  60.        
  61.         Button signUpButton = new Button("sign up");
  62.         Button back = new Button("back");
  63.         GridPane gridPane2 = new GridPane();
  64.        
  65.         gridPane2.setMinSize(600, 400);
  66.         gridPane2.setPadding(new Insets(10, 10, 10, 10));
  67.  
  68.         // Setting the vertical and horizontal gaps between the columns
  69.         gridPane2.setVgap(30);
  70.         gridPane2.setHgap(30);
  71.  
  72.         // Setting the Grid alignment
  73.         gridPane2.setAlignment(Pos.CENTER);
  74.  
  75.         // Arranging all the nodes in the grid
  76.  
  77.         gridPane2.add(userName, 0, 0);
  78.         gridPane2.add(userNameField, 1, 0);
  79.         gridPane2.add(pass, 0, 1);
  80.         gridPane2.add(passField, 1, 1);
  81.         gridPane2.add(FName, 0, 2);
  82.         gridPane2.add(firstNameField, 1, 2);
  83.         gridPane2.add(Lname, 0, 3);
  84.         gridPane2.add(lastNameField, 1, 3);
  85.         gridPane2.add(phone, 0, 4);
  86.         gridPane2.add(phoneField, 1, 4);
  87.         gridPane2.add(EMail, 0, 5);
  88.         gridPane2.add(EMailField, 1, 5);
  89.         gridPane2.add(shippingAddress, 0, 6);
  90.         gridPane2.add(shippingField, 1, 6);
  91.         gridPane2.add(creditCard, 0, 7);
  92.         gridPane2.add(creditField, 1, 7);
  93.         gridPane2.add(expiredDate, 0, 8);
  94.         gridPane2.add(expiredDateField, 1, 8);
  95.         gridPane2.add(signUpChoice, 0, 9);
  96.         gridPane2.add(signUpChoiceBox, 1, 9);
  97.         gridPane2.add(signUpButton, 0, 10);
  98.         gridPane2.add(back, 1, 10);
  99.  
  100.         // Styling nodes
  101.         signUpButton.setStyle("-fx-background-color: darkslateblue; -fx-text-fill: white;");
  102.         back.setStyle("-fx-background-color: darkslateblue; -fx-text-fill: white;");
  103.  
  104.         userName.setStyle("-fx-font: normal bold 20px 'serif' ");
  105.         pass.setStyle("-fx-font: normal bold 20px 'serif' ");
  106.         FName.setStyle("-fx-font: normal bold 20px 'serif' ");
  107.         Lname.setStyle("-fx-font: normal bold 20px 'serif' ");
  108.         phone.setStyle("-fx-font: normal bold 20px 'serif' ");
  109.         EMail.setStyle("-fx-font: normal bold 20px 'serif' ");
  110.         shippingAddress.setStyle("-fx-font: normal bold 20px 'serif' ");
  111.         creditCard.setStyle("-fx-font: normal bold 20px 'serif' ");
  112.         signUpChoice.setStyle("-fx-font: normal bold 20px 'serif' ");
  113.         expiredDate.setStyle("-fx-font: normal bold 20px 'serif' ");
  114.  
  115.         // Creating a scene object
  116.         Scene scene2 = new Scene(gridPane2);
  117.        
  118.         // Setting title to the Stage
  119.         setTitle("Sign Up ");
  120.  
  121.         // Adding scene to the stage
  122.         setScene(scene2);
  123.  
  124.  
  125.  
  126.  
  127.         back.setOnAction(new EventHandler<ActionEvent>() {
  128.             @Override
  129.             public void handle(ActionEvent event) {
  130.                 current.close();
  131.                 prev.show();
  132.  
  133.  
  134.             }
  135.         });
  136.  
  137.         signUpButton.setOnAction(new EventHandler<ActionEvent>()  {
  138.             @Override
  139.             public void handle(ActionEvent event) {
  140.                 int ID;
  141.                 String userName = userNameField.getText();
  142.                 String pass = passField.getText();
  143.                 String firstName =firstNameField.getText();
  144.                 String lastName = lastNameField.getText();
  145.                 String phone= phoneField.getText();
  146.                 String Email =EMailField.getText();
  147.                 String shipping =shippingField.getText();
  148.                 String numberOfCredit = creditField.getText();
  149.                 String type = (String) signUpChoiceBox.getValue();
  150.  
  151.                
  152.                 System.out.println(userName);
  153.                 System.out.println(pass);
  154.                 System.out.println(firstName);
  155.                 System.out.println(lastName);
  156.                 System.out.println(phone);
  157.                 System.out.println(Email);
  158.                 System.out.println(shipping);
  159.                 System.out.println(numberOfCredit);
  160.                 System.out.println(type);
  161.                 System.out.println(expiredDateField.getValue());
  162.  
  163.  
  164.                
  165.  
  166.                
  167.                     try {
  168.                         Class.forName("com.mysql.jdbc.Driver") ;
  169.                     } catch (ClassNotFoundException e1) {
  170.                         // TODO Auto-generated catch block
  171.                         e1.printStackTrace();
  172.                     }
  173.                
  174.                 Connection conn = null;
  175.                 try {
  176.                     conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Online_Book_Store?useSSL=false", "root", "ahmed666");
  177.                 } catch (SQLException e) {
  178.                     // TODO Auto-generated catch block
  179.                     e.printStackTrace();
  180.                 }
  181.                 try {
  182.                     String query;
  183.                     String selectQuery;
  184.                     String IDQueryForManagers="select MAX(ID) as MID from MANAGERS";
  185.                     String IDQueryForUsers="select MAX(ID) as MID from USERS";
  186.                    
  187.                     PreparedStatement selectStmtForManager = conn.prepareStatement(IDQueryForManagers);
  188.                     ResultSet resForManager=selectStmtForManager.executeQuery();
  189.  
  190.                     PreparedStatement selectStmtForUesr = conn.prepareStatement(IDQueryForUsers);
  191.                     ResultSet resForUsers=selectStmtForUesr.executeQuery();
  192.                    
  193.                     int IDUser=0;
  194.                     int IDManager=0;
  195.                     while(  resForUsers.next()) {
  196.                          IDUser= resForUsers.getInt("MID") ;
  197.  
  198.                     }
  199.                     while(resForManager.next()) {
  200.                          IDManager= resForManager.getInt("MID") ;
  201.                     }
  202.                    
  203.                    
  204.                         ID = Math.max(IDUser, IDManager)+1;
  205.  
  206.  
  207.  
  208.                     if(type.equals("Manager")) {
  209.                          query = "insert into MANAGERS values (?,?,?,?,?,?,?,?,?,?)" ;
  210.                          selectQuery="select * from MANAGERS where USER_NAME = ?";
  211.                     }else {
  212.                          query = "insert into USERS values (?,?,?,?,?,?,?,?,?,?)" ;
  213.                          selectQuery="select * from USERS where USER_NAME = ?";
  214.                     }
  215.                     PreparedStatement selectStmt = conn.prepareStatement(selectQuery);
  216.                     selectStmt.setString(1, userName);
  217.                     ResultSet res=selectStmt.executeQuery();
  218.                    
  219.  
  220.  
  221.                    
  222.                     PreparedStatement stmt = conn.prepareStatement(query);
  223.                     stmt.setInt(1, ID);
  224.                     stmt.setString(2, userName);
  225.                     stmt.setString(3, pass);
  226.                     stmt.setString(4, firstName);
  227.                     stmt.setString(5, lastName);
  228.                     stmt.setString(6, phone);
  229.                     stmt.setString(7, Email);
  230.                     stmt.setString(8, shipping);
  231.                     stmt.setString(9, numberOfCredit);
  232.                     stmt.setObject(10, expiredDateField.getValue());
  233.                    
  234.                     if(pass.isEmpty()) {
  235.                         Alert alert = new Alert(AlertType.WARNING, "please enter password" , ButtonType.OK);
  236.                         alert.showAndWait();
  237.                     }else if (res.next()) {
  238.                         Alert alert = new Alert(AlertType.WARNING, "dublicate user name " , ButtonType.OK);
  239.                         alert.showAndWait();                       
  240.                     }
  241.                     else {
  242.                         stmt.executeUpdate();
  243.  
  244.                     }
  245.                 } catch (SQLException e) {
  246.                     // TODO Auto-generated catch block
  247.                     e.printStackTrace();
  248.                 }
  249.                
  250.                 try {
  251.                     conn.close();
  252.                 } catch (SQLException e) {
  253.                     // TODO Auto-generated catch block
  254.                     e.printStackTrace();
  255.                 }
  256.            
  257.  
  258.             }
  259.  
  260.         });
  261.  
  262.  
  263.        
  264.     }
  265.    
  266.    
  267.    
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement