PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Changement mapping d'une classe
Changement mapping d'une classe
Iniciado por bserre, 11,abr. 2023 11:40 - 3 respuestas
Publicado el 11,abril 2023 - 11:40
Bonjour,

Dans mon projet actuel, des envois de mails sont gérés de manière asynchrone en stockant toutes les informations relatives à ces derniers dans un fichier de données, puis sont envoyés par une tâche planifiée sur le serveur web.

Il est prévu de pouvoir compacter et réindexer le fichier de données la nuit, après purge de plusieurs mémos d'une liste de mails sur une période donnée. L'idée serait donc d'utiliser un fichier de données temporaire qui accueille les enregistrements tant que le fichier principal est bloqué (par programmation avant lancement de la maintenance). Ce fichier temporaire pourrait être amené à envoyer les mails si le fichier principal venait à rester bloqué trop longtemps (problème de compactage/réindexation notamment).

Tous les traitements relatifs aux mails sont gérés dans une classe, directement mappée au fichier principal, héritant de la classe MBase du pattern MVP. Mon problème étant que je ne saisis pas comment "switcher" de fichier de données mappé. En effet, je souhaiterais pouvoir le faire dans le cas de la maintenance quotidienne, mais également lui laisser cette source afin de traiter les mails à envoyer.

Merci d'avance pour votre aide,

Ben
Miembro registrado
61 mensajes
Publicado el 03,junio 2023 - 15:32
Bonjour,

Si j'ai bien compris, lorsque votre fichier de travail est bloqué vous souhaitez pouvoir quand même lancer le traitement d'envoi de mails.

Bien, il faut donc que vous disposiez d'une copie des données, dans une autre table.

Donc, (à tester) vous pourriez avoir une table de travail et une table copie.
Du coup, vous pouvez avoir deux classes, une par table.

Ou alors j'ai pas tout compris, ce qui est possible...

--
La complexité d'une solution doit être adaptée à la complexité du problème qu'elle essaye de résoudre.
Miembro registrado
7 mensajes
Publicado el 03,junio 2023 - 21:33
Bonjour,

Je comprends la source de ton problème ! Une solution serait de créer une classe abstraite, capable d’envoyer les mails. Ensuite tu crées deux classe qui hérite de cette classe maître, mappée sur le fichier principal ou le fichier secondaire.
Miembro registrado
3.776 mensajes
Publicado el 03,junio 2023 - 21:43
Salut
Il suffit de supprimer le mapping actuel
Et de faire un mapping par programmation
Ou ma préférée en modifiant la source de données pour Switcher comme vous dites
Voir
https://help.windev.com/fr-FR/…
Mensaje modificado, 03,junio 2023 - 21:45