Question

Comment utiliser le modèle d'unité de travail dans le scénario suivant:

J'écris une application Winforms. J'ai un écran où l'utilisateur peut éditer une seule commande. Sur cet écran, l'utilisateur peut ouvrir un autre formulaire pour sélectionner la société de livraison. L’utilisateur peut également ajouter / modifier des sociétés de livraison existantes dans ce formulaire enfant avant de procéder à la sélection.

Comment puis-je implémenter ce scénario en utilisant le modèle d'unité de travail? Actuellement, j'ai une unité de travail pour l'écran de saisie de commande. Ma première pensée a été d'inclure également la fiche enfant dans cette unité de travail. Le problème est que les modifications de l'entreprise de livraison doivent être conservées dans le formulaire enfant. Mais lorsque je persiste dans les modifications apportées aux entreprises de livraison, les modifications apportées à la commande seront également conservées.

Devrais-je créer une deuxième unité de travail pour toute modification des entreprises de livraison? Dans ce cas, comment puis-je rendre visibles les modifications apportées à cette unité de travail dans la première unité de travail?

Était-ce utile?

La solution

D'après votre description, il semble que vous ayez vraiment deux unités de travail ici. Le premier est & "Entrée de commande &"; et le second est & "Edit Delivery Company &"; Chaque unité de travail a un type de session ou de transaction sous-jacent. Pour communiquer du formulaire enfant à l'entrée de commande, vous devez détacher l'objet de la société de la session du formulaire enfant et le rattacher au parent. La manière de le mettre en œuvre dépend de la couche d’accès aux données que vous utilisez, mais un moyen simple consiste à transmettre l’ID de la société.

Autres conseils

  

Actuellement, j'ai une unité de travail pour l'écran de saisie de commande. Le problème est que les modifications de l'entreprise de livraison doivent être conservées dans le formulaire enfant.

     

Comment puis-je implémenter ce scénario à l'aide du modèle d'unité de travail?

  1. OrderEditForm et DeliveryCompanyCollectionEditForm doivent partager le même DeliveryCompanyRepository partage la même unité de travail.

  2. <=> doit renvoyer les entreprises de la base de données + entreprises ajoutées au cours de l’unité de travail.

Ainsi, un nouvel objet de société de livraison doit être disponible dans <=> sans modifications persistantes.

  

Devrais-je créer une deuxième unité de travail pour toute modification des entreprises de livraison? Dans ce cas, comment puis-je rendre visibles les modifications apportées à cette unité de travail dans la première unité de travail?

Deux unités de travail ou plus utilisées en parallèle nécessitent une attention particulière lors de la synchronisation des données. Lorsqu'une unité de travail est validée, un médiateur met généralement à jour toutes les autres unités de travail, comme indiqué dans l'autre réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top