// omit for readability public void Execute(EventTriggerAction eventTriggerAction, EventContext context) { // omit for readability var action = (ActionBase)Activator.CreateInstance(); // Instantiate the action by its base class, ActionBase action.Arguments = data.Arguments; // This is a dictionary that contains the arguments of the action action.Emailer = _emailerFactory.Create(); // omit for readability }
private void AddEventTriggerImpl(EventTrigger <TIdentifier, TEvent> trigger, TAspect aspect) { EventTriggerAction action = trigger.Action; foreach (TEvent eventId in trigger.Events) { _eventTriggers.Add(eventId, new TriggerableEventTrigger <TIdentifier, TEvent, TAspect, TFlag, TProperty>(eventId, aspect, action)); } }
public EventTrigger(EventTriggerAction action, params TEvent[] events) { _action = action; _events = events; }
/// <summary> /// Creates a trigger that is always active when the other property <see cref="remoteProperty"/> is set. /// </summary> public NodeEventTrigger(EventTriggerAction action, NodeProperty remoteProperty, params NodeEvent[] events) : base(action, events) { _remoteProperty = remoteProperty; }
/// <summary> /// Creates a trigger that is always active when the other flag <see cref="remoteFlag"/> is set. /// </summary> public NodeEventTrigger(EventTriggerAction action, NodeFlag remoteFlag, params NodeEvent[] events) : base(action, events) { _remoteFlag = remoteFlag; }
/// <summary> /// Creates a trigger that is always activ when its flag or property is set /// </summary> public NodeEventTrigger(EventTriggerAction action, params NodeEvent[] events) : base(action, events) { }
internal TriggerableEventTrigger(TEvent eventId, TAspect aspect, EventTriggerAction action) { _event = eventId; _aspect = aspect; _action = action; }