Exemple de compensation personnalisée
Cette rubrique s'applique à Windows Workflow Foundation 4.
Cet exemple montre comment utiliser CompensableActivity et son gestionnaire de compensation pour définir une logique de compensation personnalisée. Le scénario modélisé de cet exemple est une agence de location de camions.
Détails de l'exemple
Les étapes simulées sont les suivantes :
L'utilisateur demande des devis de location de camion pour une date donnée.
Trois sociétés de camions sont contactées et les trois devis sont fournis.
L'utilisateur sélectionne un devis pour un camion et effectue la commande par carte de crédit.
L'application annule les deux autres devis de camion.
L'application facture des frais de service qui ne sont pas remboursables pour les comptes non Premium en cas d'annulation 10 jours ou moins avant la date de réservation.
L'application facture le prix de location du camion.
L'application attend jusqu'à la date de réservation ou jusqu'à ce que le client ait décidé d'annuler la réservation, selon ce qui se produit en premier.
Si le client annule la réservation, la logique de compensation personnalisée CompensationHandler s'exécute d'après la logique suivante :
Si le client dispose d'un compte non Premium et qu'il reste moins que 10 jours avant la date de réservation, les frais de service restent facturés ; sinon, l'application rembourse les frais de service.
Le reste des activités compensables (commande de camion + frais de commande du camion) sont exécutées d'après la logique de compensation par défaut, laquelle consiste à compenser dans l'ordre inverse de l'exécution.
Pour configurer, générer et exécuter l'exemple
À l'aide de Visual Studio 2010, ouvrez la solution CustomCompensation.sln. Elle se trouve dans le répertoire \WF\Basic\Compensation\CustomCompensation.
Appuyez sur F6 pour générer la solution.
Appuyez sur CTRL+F5 pour exécuter l'application.
Remarque : |
---|
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.
<LecteurInstall>:\WF_WCF_Samples
Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.
<LecteurInstall>:\WF_WCF_Samples\WF\Basic\Compensation\CustomCompensation
|