Repository navigation
Expand file tree
/
Copy pathContNaissance.java
More file actions
101 lines (93 loc) · 3.48 KB
/
Copy pathContNaissance.java
File metadata and controls
101 lines (93 loc) · 3.48 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
import java.awt.event.*;
import javax.swing.*;
public class ContNaissance implements ActionListener{
Mairie mairie;
JTextField champIdBebe;
JTextField champNom;
JTextField champPrenom;
JTextField champJour;
JTextField champMois;
JTextField champAnnee;
JTextField champSexe;
JTextField champIdMere;
JTextField champIdPere;
JLabel message;
public ContNaissance(Mairie m, JTextField idBebe, JTextField nom, JTextField prenom, JTextField jour, JTextField mois, JTextField annee, JTextField sexe, JTextField idMere, JTextField idPere, JLabel msg){
mairie = m;
champIdBebe = idBebe;
champNom = nom;
champPrenom = prenom;
champJour = jour;
champMois = mois;
champAnnee = annee;
champSexe = sexe;
champIdMere = idMere;
champIdPere = idPere;
message = msg;
}
@Override
public void actionPerformed(ActionEvent e){
int idBebe = Integer.parseInt(champIdBebe.getText());
String nom = champNom.getText();
String prenom = champPrenom.getText();
DateCivil date = new DateCivil(Integer.parseInt(champJour.getText()), Integer.parseInt(champMois.getText()), Integer.parseInt(champAnnee.getText()));
String sexe = champSexe.getText();
int idMere = Integer.parseInt(champIdMere.getText());
int idPere = Integer.parseInt(champIdPere.getText());
Femme mere = null;
Homme pere = null;
Citoyen bebe = null;
if (!date.estValide()) {
message.setText("Date de l'acte invalide");
return;
}
Citoyen cMere = mairie.chercherCitoyenParId(idMere);
if (cMere == null || !(cMere instanceof Femme)) {
message.setText("Mere introuvable ou ID invalide");
return;
}
else{
mere = (Femme) cMere;
}
if(idPere != 0){ // on peut enregistrer une naissance sans pere
Citoyen cPere = mairie.chercherCitoyenParId(idPere);
if(!(cPere == null || !(cPere instanceof Homme))){
pere = (Homme) cPere;
}
}
if (mairie.chercherCitoyenParId(idBebe) != null){
message.setText("ID bebe deja utilise");
return;
}
if (mere == null){
message.setText("Mere introuvable");
return;
}
if(mere.getEtatCivil() == EtatCivil.DECEDE){
message.setText("Mere decedee");
return;
}
//if (pere.getEtatCivil() == EtatCivil.DECEDE){
// message.setText("Pere decede");
// return;
//}// il peut avoir un enfant sans pere vivant donc je ne l'insere pas
else if (sexe.equals("H")){
bebe = new Homme(idBebe, nom, prenom, date, mairie);
}
else if (sexe.equals("F")){
bebe = new Femme(idBebe, nom, prenom, date, mairie);
}
else{
message.setText("Sexe invalide: H ou F");
return;
}
Naissance naissance = new Naissance(mairie.getNaissances().size() + 1, date, mere, pere, bebe, mairie);
mairie.ajouterNaissance(naissance);
mairie.ajouterCitoyen(bebe);
mere.getEnfants().add(naissance);
if (pere != null){
pere.getEnfants().add(naissance);
}
message.setText("Naissance enregistre");
}
}