Disons que j'ai une AddProductToCartTask avec une méthode Execute().Passer des messages de la couche d'application à la vue
Maintenant, la tâche est appelée à partir d'un contrôleur. Dans la méthode Execute, est une vérification qui, si elle n'est pas satisfaite, l'action n'est pas effectuée. Supposons que le message renvoyé soit: "Vous n'avez pas assez de bonus pour acheter ce produit". J'ai pensé à lancer un événement quand la validation du domaine échoue - mais cela signifierait que dans le contrôleur je dois avoir toutes sortes de variables de classe qui ont besoin de vérifier dans l'action (pour déterminer si j'ai besoin de mettre un message d'erreur , ou j'ai besoin de rediriger .. etc)
Au lieu de cela, je pourrais avoir une méthode sur la tâche: GetErrorMessages(). Si vide renvoyer l'objet JSON s'il n'est pas vide renvoyer le message. Ou la méthode pourrait renvoyer une énumération qui dirait si j'ai besoin de rediriger ou de mettre un message ou retourner l'objet ....
Je ne sais pas quelle route prendre. Toute contribution serait appréciée. Comment faites-vous passer les messages de votre couche de domaine?
Édition: ceci est principalement dans un contexte AJAX. Même si je ne suis pas sûr que ce soit important car c'est une action qui est appelée de quelque part.
Clarification: vous appelez cette méthode avec AJAX? (JsonResult) Il est important de le savoir car cela déterminera la direction que vous pouvez prendre. – GalacticCowboy