Share via


Ejemplo de compensación personalizada

Este tema es aplicable a Windows Workflow Foundation 4.

En este ejemplo se muestra cómo utilizar CompensableActivity y su controlador de compensación para definir lógica de compensación personalizada. El escenario modelado en este ejemplo es una agencia de alquiler de camiones.

Detalles del ejemplo

Los pasos simulados son:

  1. El usuario solicita ofertas de alquiler de camiones para una fecha determinada.

  2. Se establece contacto con tres empresas de camiones y se proporcionan tres ofertas.

  3. El usuario selecciona una oferta de camión y realiza el pedido con tarjeta de crédito.

  4. La aplicación cancela las otras dos ofertas de camión.

  5. La aplicación carga una cuota de servicio que no se puede reembolsar en las cuentas no bonificadas si se produce una cancelación en un periodo inferior a 10 días antes de la fecha de reserva.

  6. La aplicación carga la cuota de alquiler del camión.

  7. La aplicación espera hasta la fecha de la reserva o hasta que el cliente decida cancelar la reserva, lo que suceda primero.

  8. Si el cliente cancela la reserva, se ejecuta la lógica de compensación personalizada de CompensationHandler según la siguiente lógica:

    1. Si el cliente tiene una cuenta no bonificada y faltan menos de 10 días para la fecha de reserva, se sigue cobrando la cuota de servicio; en caso contrario, la aplicación reembolsa la cuota de servicio.

    2. El resto de las actividades compensables (el pedido de camión + la cuota de pedido de camión) se ejecutan según la lógica de compensación predeterminada, que compensa en orden inverso a la ejecución.

Para configurar, compilar y ejecutar el ejemplo

  1. Abra el archivo de solución CustomCompensation.sln con Visual Studio 2010. Se encuentra en el directorio \WF\Basic\Compensation\CustomCompensation.

  2. Presione F6 para compilar la solución.

  3. Presione CTRL+F5 para ejecutar la aplicación.

Dd483319.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<unidadDeInstalación>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.

<unidadDeInstalación>:\WF_WCF_Samples\WF\Basic\Compensation\CustomCompensation