Ajout de la maj gestion rappel

This commit is contained in:
2025-10-25 20:56:47 +02:00
parent 178580d4f1
commit 2387ebfe11
+94 -49
View File
@@ -1,60 +1,105 @@
package fr.iutfbleau.papillon;
import java.sql.SQLException;
import java.util.List; import java.util.List;
/**
* La classe <code>GestionRappel</code> gère les opérations métier
* liées aux rappels de lutilisateur actuellement identifié.
*
* <p>Elle fait le lien entre la couche applicative et la couche base de données
* (via la classe {@link RappelBD}) et sappuie sur {@link UserKey}
* et {@link UtilisateurBD} pour identifier lutilisateur.</p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class GestionRappel { public class GestionRappel {
public List<Rappel> lister() throws Exception { /** Identifiant de lutilisateur courant. */
return BaseDeDonnees.lister(); private final int utilisateurId;
}
public int ajouter(Rappel r) throws Exception { /**
return BaseDeDonnees.ajouter(r); * Constructeur : initialise lutilisateur courant à partir de sa clé locale.
} * Si la clé nexiste pas, elle est créée automatiquement.
*/
public int modifierParId(int id, Rappel r) throws Exception { public GestionRappel() {
return BaseDeDonnees.modifier(id, r); int uid = -1;
}
public int supprimerParId(int id) throws Exception {
return BaseDeDonnees.supprimer(id);
}
// === petit main pour test rapide ===
public static void main(String[] args) {
try { try {
GestionRappel g = new GestionRappel(); String cle = UserKey.lireOuCreerCle(); // clé locale
uid = UtilisateurBD.getOrCreateIdByKey(cle); // crée ou récupère utilisateur
// Ajouter
Rappel r = new Rappel("Acheter du café", "avant 17h", "Urgent", 1);
int id = g.ajouter(r);
System.out.println("Ajouté : " + id);
// Lister
System.out.println("\nListe des rappels :");
for (Rappel x : g.lister()) {
System.out.println(" - " + x);
}
// Modifier
r.setTitre("Acheter du café (bio)");
r.setRang(3);
g.modifierParId(r.getId(), r);
System.out.println("\nAprès modification :");
for (Rappel x : g.lister()) {
System.out.println(" - " + x);
}
// Supprimer
// g.supprimerParId(r.getId());
// System.out.println("\nAprès suppression :");
// for (Rappel x : g.lister()) {
// System.out.println(" - " + x);
// }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
this.utilisateurId = uid;
System.out.println("Utilisateur courant id=" + this.utilisateurId);
}
/**
* Ajoute un nouveau rappel pour lutilisateur courant.
*
* @param titre le titre du rappel
* @param contenu le contenu ou la description du rappel
* @param theme la catégorie ou le thème du rappel
* @param rang la priorité ou lordre du rappel
* @return lidentifiant du rappel nouvellement ajouté
* @throws SQLException si une erreur SQL survient
*/
public int ajouter(String titre, String contenu, String theme, int rang) throws SQLException {
Rappel r = new Rappel(titre, contenu, theme, rang);
return RappelBD.ajouter(r, this.utilisateurId);
}
/**
* Récupère tous les rappels de lutilisateur courant.
*
* @return la liste des rappels enregistrés
* @throws SQLException si une erreur SQL survient
*/
public List<Rappel> lister() throws SQLException {
return RappelBD.listerParUtilisateur(this.utilisateurId);
}
/**
* Modifie un rappel existant appartenant à lutilisateur courant.
*
* @param id lidentifiant du rappel à modifier
* @param r lobjet {@link Rappel} contenant les nouvelles informations
* @return le nombre de lignes modifiées
* @throws SQLException si une erreur SQL survient
*/
public int modifierParId(int id, Rappel r) throws SQLException {
return RappelBD.modifier(id, r, this.utilisateurId);
}
/**
* Supprime un rappel spécifique appartenant à lutilisateur courant.
*
* @param id lidentifiant du rappel à supprimer
* @return le nombre de lignes supprimées
* @throws SQLException si une erreur SQL survient
*/
public int supprimerParId(int id) throws SQLException {
return RappelBD.supprimer(id, this.utilisateurId);
}
/**
* Supprime tous les rappels appartenant à lutilisateur courant.
*
* @return le nombre de rappels supprimés
* @throws SQLException si une erreur SQL survient
*/
public int viderTousMesRappels() throws SQLException {
return RappelBD.supprimerToutPourUtilisateur(this.utilisateurId);
}
/**
* Retourne lidentifiant de lutilisateur courant.
*
* @return lidentifiant de lutilisateur
*/
public int getUtilisateurId() {
return this.utilisateurId;
} }
} }