PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → POO champs planning et agenda
POO champs planning et agenda
Débuté par GB, 01 mai 2024 10:21 - 2 réponses
Membre enregistré
332 messages
Popularité : +8 (10 votes)
Posté le 01 mai 2024 - 10:21
Bonjour,

Je m'intéresse aux bonnes pratiques en POO appliquée aux planning et agenda.

J'ai besoin de mettre en place un champ planning et un champ agenda dans mon application.

J'ai mis en place les classes suivantes :

Mactivité (contenant les membres dates, type activité nécessaires au fonctionnement d'une gestion de planning...)
CtableauActivité (contenant un tableau de Mactivité et un tableau des Mactivité à supprimer). Cette classe est utilisée pour stocker les activités liés à d'autres objets

Cplanning (tableau de Mactivité) qui stockera les activités a afficher dans le planning et les méthodes propres au planning.


Ma reflexion se porte sur la gestion des nouvelles activités ou des modifications sur des activités existantes :
Je ne souhaite pas faire de l'enregistrement direct (dès qu'on modifie une activité par exemple).

Cplanning contient les activités de la plage affichées par le planning (membre date_debut, date_fin, tableau de Mactivité)

Si l'utilisateur créé une activité celle ci est ajouté au tableau.
Toutefois si l'utilisateur change de plage d'affichage, l'activité sera perdu puisque le tableau est rechargé avec les activité de la nouvelle plage (basé sur une requete paramétrée)

Quelle est la bonne pratique (l'architecture des classes) pour gérer :
- le stockage des nouvelles activités créés
- le stockage des activités à modifier
tout en conservant la possibilité de changer les périodes affichées (sans demander sans arrêt si l'utilisateur veut sauvegarder les modifications, (cela se fait à la fermeture de la fenêtre, ou manuellement).

J'avais pensé rajouter un tableau de Mactivité qui va contenir les activités à créer/modifier, indépendamment de la plage affichée.
Ainsi l'affichage du planning consisterai à parcourir le tableau des Mactivité de la plage et de vérifier si l'ID de l'activité n'est pas présent dans le tableau de Mactivité modifié/créé.
Si c'est le cas on affiche l'activité de ce tableau à la place de celle initialement chargée.

Je trouve cela plutôt lourd à gérer. Avez vous d'autres idées ?
Membre enregistré
23 messages
Posté le 02 mai 2024 - 14:32
Bonjour GB,

Il me semble qu'il ne faut maintenir qu'un seul tableau de MActivité.
Par contre, pour les suppressions il te faut un tableau qui mémorisera les activités à supprimer.

Il faut adapter la méthode qui charge le tableau afin d'ajouter les MActivité préalablement créé et remplacer les MActivité qui ont été modifiées.
Cela reste un concept. :)

Regarde du côté la méthode TableauChercheParProcédure qui sera à mon avis bien adaptée pour identifier les MActivité modifiées (utiliser un membre "flag") et créés (ID unique =0).

Bon dév à tous,
Message modifié, 02 mai 2024 - 14:33
Membre enregistré
332 messages
Popularité : +8 (10 votes)
Posté le 03 mai 2024 - 09:32
Très bonne idée...

Voir pour que le chargement ne supprime que les Mactivité non modifiées et verifie que les Mactivité sont dans la plage à afficher pour les afficher...