Kooboo.Commerce.Rules.EventSlot.Handle C# (CSharp) Méthode

Handle() private méthode

private Handle ( IEvent @event, CommerceInstance commerceInstance ) : void
@event IEvent
commerceInstance Kooboo.Commerce.Data.CommerceInstance
Résultat void
        private void Handle(IEvent @event, CommerceInstance commerceInstance)
        {
            // TODO: Need to be passed in?
            var instance = CommerceInstance.Current;

            var rules = RuleManager.GetManager(instance.Name).GetRules(@event.GetType().Name);
            var activities = new List<ConfiguredActivity>();
            foreach (var rule in rules)
            {
                activities.AddRange(rule.Execute(@event));
            }

            ScheduleActivities(activities.Where(it => it.Async), @event, instance);
            ExecuteActivities(activities.Where(it => !it.Async), @event);
        }