-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEtudiantController.java
More file actions
145 lines (127 loc) · 3.68 KB
/
EtudiantController.java
File metadata and controls
145 lines (127 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package jdbc;
import java.util.List;
public class EtudiantController {
/*
* Controller : effectue le lien entre le DAO et la·les classe·s
*
* PATTERN SINGLETON : contraint l'instanciation d'une UNIQUE instance de classe
*/
private static EtudiantController instanceCtrl;
private List<Etudiant> etudiants;
/**
* Pattern Singleton
* @return EtudiantController
*/
public static synchronized EtudiantController getInstance() {
if(instanceCtrl == null) {
instanceCtrl = new EtudiantController();
}
return instanceCtrl;
}
/**
* Constructeur
* Chargement de la liste des membres
* En private : pattern Singleton
*/
private EtudiantController() {
try {
this.etudiants = DAOEtudiant.getInstance().getAll();
} catch (DALException e) {
e.printStackTrace();
}
}
/**
* Permet de récupérer l'ensemble des membres ayant été jury
* @return la liste des membres
*/
public List<Etudiant> getAll() {
List<Etudiant> etudiants = null;
try {
etudiants = DAOEtudiant.getInstance().getAll();
} catch (DALException e) {
e.printStackTrace();
}
return etudiants;
}
/**
* Permet de persister le membre
* @param etudiantManaged : membre
* @param prenom : prénom de l'étudiant
* @param nom : nom de l'étudiant
* @param email : mail de l'étudiant
*/
public void saveEtudiantStandalone(Etudiant etudiantManaged, String prenom, String nom, String dateNaissance, String email, String matricule) {
if (etudiantManaged != null) {
etudiantManaged.setPrenom(prenom);
etudiantManaged.setNom(nom);
etudiantManaged.setDateNaissance(dateNaissance);
etudiantManaged.setEmail(email);
etudiantManaged.setMatricule(matricule);
//persistance : Update
try {
DAOEtudiant.getInstance().update(etudiantManaged);
} catch (DALException e) {
e.printStackTrace();
}
} else {
// Nouveau membre
etudiantManaged = new Etudiant(nom, prenom, dateNaissance, email, matricule);
//persistance : Insert
try {
DAOEtudiant.getInstance().save(etudiantManaged);
} catch (DALException e) {
e.printStackTrace();
}
}
}
/**
* Permet de récupérer l'id d'un membre en fonction de son prénom, de son nom et de son mail
* @param prenom : prénom de l'étudiant
* @param nom : nom de l'étudiant
* @return l'id de l'étudiant
*/
public int getEtudiantIdByNomPrenom(String nom, String prenom) {
int idetu = 0;
try {
idetu = DAOEtudiant.getInstance().getIdByNomPrenom(nom, prenom);
} catch (DALException e) {
e.printStackTrace();
}
return idetu;
}
/**
* Permet de récupérer l'id d'un membre en fonction de son prénom, de son nom et de son mail
* @param prenom : prénom de l'étudiant
* @param nom : nom de l'étudiant
* @return l'id de l'étudiant
*/
public Etudiant getEtudiantById(int id) {
Etudiant etu = null;
try {
etu = DAOEtudiant.getInstance().getOneById(id);
} catch (DALException e) {
e.printStackTrace();
}
return etu;
}
/**
* Permet de supprimer un étudiant
* @param etudiantManaged : etudiant
*/
public void deleteEtudiant(Etudiant etudiantManaged) {
try {
etudiants.remove(DAOEtudiant.getInstance().getOneById(etudiantManaged.getId()));
//suppression de l'étudiant en fonction de son ID
DAOEtudiant.getInstance().deleteEtudiantById(etudiantManaged.getId());
} catch (DALException e) {
e.printStackTrace();
}
}
public void refresh(){
try {
this.etudiants = DAOEtudiant.getInstance().getAll();
} catch (DALException e) {
e.printStackTrace();
}
}
}