1398,36 → 1398,14 |
if(typeDate.equals("décès")) { |
String valeurDateDeces = hmIdentite.getTextField("tfDateDeces").getRawValue(); |
String valeurDateNaissance = hmIdentite.getTextField("tfDateNaissance").getRawValue(); |
String[] composantsDateDeces = valeurDateDeces.split("/"); |
String[] composantsDateNaissance = valeurDateNaissance.split("/"); |
|
// Première vérification sur l'année (voir la raison sur le commentaire en dessous) |
if(Integer.parseInt(composantsDateDeces[2]) > Integer.parseInt(composantsDateNaissance[2])) { |
Date dateNaissance = parserDate(valeurDateNaissance); |
Date dateDeces = parserDate(valeurDateDeces); |
|
if(dateDeces.compareTo(dateNaissance) < 0) { |
lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance"); |
} else { |
|
Date dateNaissance = new Date(); |
// La méthode setYear ne prend pas en compte les années sur 4 chiffres |
// on met donc les deux dates à zéro |
dateNaissance.setYear(0); |
// Les méthodes utilisées sont dépréciées, mais GWT ne gère les dates |
// que comme ça |
dateNaissance.setMonth(Integer.parseInt(composantsDateNaissance[1])); |
dateNaissance.setDate(Integer.parseInt(composantsDateNaissance[0])); |
|
Date dateDeces = new Date(); |
dateDeces.setYear(0); |
dateDeces.setMonth(Integer.parseInt(composantsDateDeces[1])); |
dateDeces.setDate(Integer.parseInt(composantsDateDeces[0])); |
|
if(dateDeces.compareTo(dateNaissance) <= 0) { |
lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance"); |
} else { |
Window.alert(dateNaissance.toString()+" "+dateDeces.toString()); |
} |
} |
} |
|
/** Date vide **/ |
} else { |
if (typeDate=="naissance") { |
1440,6 → 1418,22 |
|
} |
|
private Date parserDate(String valeurDate) { |
Date dateParsee = new Date(); |
String[] composantsDate = valeurDate.split("/"); |
// Attention : la fonction setYear ajoute 1900 à l'année |
int annee = Integer.parseInt(composantsDate[(composantsDate.length-1)]) - 1900; |
// Attention : les mois commencent à 0, donc janvier = 0, février = 1 |
int mois = (composantsDate.length > 1) ? Integer.parseInt(composantsDate[(composantsDate.length-2)]) - 1 : 0; |
int jour = (composantsDate.length > 2) ? Integer.parseInt(composantsDate[0]) : 1; |
|
dateParsee.setYear(annee); |
dateParsee.setMonth(mois); |
dateParsee.setDate(jour); |
|
return dateParsee; |
} |
|
public Personne getPersonne() { |
return this.personne; |
} |