-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OnAfterCreateAsync sur les Collections #286
Comments
Il faut plutôt faire ça dans l'AppController que sur la collection, car comme tu dis la collection est agnostic du SaveChanges là où c'est l'AppController qui le provoque. @Poltuu a dû faire ce genre de séquençage dans l'AppController sur PTalent, pour les notifs par mail notamment. C'est le même genre d'idée. |
je confirme ce que @nfaugout a dit, c'est une problématique de synchronisation, qui a lieu au niveau applicatif. Mais u simple override, avec ajout de code à la suite de la méthode de base devrait faire l'affaire je pense |
Sinon tu peux implémenter un https://github.com/LuccaSA/RestDrivenDomain/blob/master/src/Rdd.Infra/Storage/IOnSaveChangesAsync.cs |
@thomaf la solution via AppController c'est la solution "fonctionnelle", où tu sais dans quel contexte tu te situes. La solution de @rducom c'est une solution "technique" qui va jouer qq soit le contexte qui a provoqué un SaveChanges, à toi de voir dans quel cas tu te trouves, mais je pense que si y'a du RMQ derrière tu dois être sur du fonctionnel. |
Dans mon processus métier, la création d'une ReportRequest implique la publication d'une notification au RemotTaskPublisher. |
Avec Si par contre, sur certaines méthodes tu veux faire un truc lors d'un crud sur |
Ici il faut imaginer que l'AppController fait partie de ton Domain. Le Domain (au sens du projet Domain) ne décide pas quand il peut commiter en base, c'est un choix qu'on a fait. Peut-être à remettre en cause dans une discussion séparée... Ici c'est un peu la même chose, ce n'est pas le Domain qui peut décider de lever un événement vers le monde extérieur, c'est la responsabilité du AppController au même titre que le commit en base. Donc ton appController va orchestrer le processus :
|
On a le besoin dans le cas où on notifie RabbitMq lors de la création d'une entité.
Si on fait cette notification directement dans le CreateAsync, on a des cas où le message est traité avant que l'entité ne soit créée en base.
The text was updated successfully, but these errors were encountered: