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:

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()}";
        _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