Пример #1
0
 public void Raise(XmasEvent evt)
 {
     ICollection<Trigger> trigered = triggers.Get(evt.GetType());
     foreach (Trigger t in trigered)
     {
         if (t.CheckCondition(evt))
             t.Execute(evt);
     }
     var buffer = EventRaised;
     if(buffer != null)
         buffer(this, new UnaryValueEvent<XmasEvent>(evt));
 }
Пример #2
0
        public void Raise(XmasEvent evt)
        {
            ICollection<Trigger> trigered = triggers.Get(evt.GetType());
            foreach (Trigger t in trigered)
            {
                try
                {

                    if (t.CheckCondition(evt))
                        t.Execute(evt);
                }
                catch (Exception e)
                {
                    if (!(evt is TriggerFailedEvent))
                        this.Raise(new TriggerFailedEvent(t, e));
                }
            }
            var buffer = EventRaised;
            if(buffer != null)
                buffer(this, new UnaryValueEvent<XmasEvent>(evt));
        }