Files
FIProjetIHM2022/src/LoginConnection.java

106 lines
3.5 KiB
Java
Raw Normal View History

2022-10-06 11:29:53 +02:00
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.sql.Array;
import java.util.ArrayList;
import java.util.Objects;
import javax.swing.*;
public class LoginConnection extends BFrame implements ActionListener {
protected BInput inUser;
protected BInput inPasswd;
public LoginConnection(String title, int x, int y, int mode) throws IOException {
super(title, x, y, mode);
BImage logo = new BImage("src/assets/img/logo.png");
BLayout settings = new BLayout();
BLabel[] blank = {
new BLabel(" "),
new BLabel(" "),
new BLabel(" ")
};
settings.setPositionX(1);
this.add(logo.getImage(), settings);
settings.setPositionY(3);
this.add(blank[0], settings);
BLabel laUser = new BLabel("Utilisateur");
settings.setPositionY(4);
this.add(laUser, settings);
this.inUser = new BInput(300, 20);
settings.setPositionY(5);
this.add(inUser, settings);
settings.setPositionY(6);
this.add(blank[1], settings);
BLabel laPasswd = new BLabel("Mot de passe");
settings.setPositionY(7);
this.add(laPasswd, settings);
this.inPasswd = new BInput(300, 20);
settings.setPositionY(8);
this.add(inPasswd, settings);
settings.setPositionY(9);
this.add(blank[2], settings);
BButton login = new BButton("Connexion");
login.addActionListener(this);
settings.setPositionY(10);
this.add(login, settings);
this.openBFrame();
this.refreshBFrame();
}
@Override
public void actionPerformed(ActionEvent e) {
BDatabase init = new BDatabase();
String pass = inPasswd.getText();
String user = inUser.getText();
int grade = -1;
boolean canConnect = false;
if(init.fetchAll("SELECT utilisateur FROM Comptes WHERE utilisateur='" + user + "'").size() == 0) {
JOptionPane.showMessageDialog(this, "Utilisateur introuvable.");
} else {
String username = init.fetchAll("SELECT utilisateur FROM Comptes WHERE utilisateur='" + user + "'").get(0);
String passwd = init.fetchAll("SELECT pass FROM Comptes WHERE utilisateur='" + user + "'").get(0);
if(!Objects.equals(passwd, pass)) {
JOptionPane.showMessageDialog(this, "Mot de passe incorrect.");
} else {
canConnect = true;
grade = Integer.parseInt(
init.fetchAll(
"SELECT idGrade FROM Comptes WHERE utilisateur='" + user + "'").get(0)
);
init.current_user = Integer.parseInt(
init.fetchAll(
"SELECT idCompte FROM Comptes WHERE utilisateur='" + user + "'").get(0)
);
}
}
if(canConnect) {
String firstname = init.fetchAll(
"SELECT nom FROM Membres WHERE idCompte=" + init.current_user
).get(0);
String lastname = init.fetchAll(
"SELECT prenom FROM Membres WHERE idCompte=" + init.current_user
).get(0);
Home home = new Home(init, grade, firstname, lastname);
} else{
System.out.println("Erreur.");
}
}
}