An Outcome is an action(s) that executes by the IfThengine V1 if a rule is True.

Outcomes and the Event Bus listener run on the worker service. The following is an example of an Outcome that adds a free item:

[Factory(Id)]
class AddFreeItemOutcome : IOutcome
{
    private const string Id = "AddFreeItem";
    private readonly ILogger _logger;

    public AddFreeItemOutcome()
    {
        _logger = UnityConfig.Container.Resolve<ILogger>();
    }

    public void Process(OutcomeContext outcomeContext)
    {
        string description = $"{Id} - {outcomeContext.ToString()}";
        Console.WriteLine(description);
        _loggerLogInformation($"Event Engine - {description}");
    }
}

Completed Outcomes

The following Outcomes have been finalized and tested:

  • SendEmail


Stubbed-Out Outcomes

The following is a list of Outcomes have been stubbed-out (in alphabetical order):

  • AddFreeItem
  • AddPV
  • AddQV
  • DeleteLogin
  • CancelAutoShip
  • CancelService
  • RemoveCardOnFile
  • RemoveFromBinaryTree
  • RemoveFromEnrollmentTree
  • RemoveWebsite
  • ProcessAutoShip
  • UpdateAssociateStats
  • WaiveAutoShipCharge
  • WaiveServiceCharge