Esempio n. 1
0
 public void HandleEvent(IEventOf <Payment> @event)
 {
     if (!CanHandle(@event))
     {
         return;
     }
     Console.WriteLine("Generated slip.");
 }
Esempio n. 2
0
 public void HandleEvent(IEventOf <Payment> @event)
 {
     if (!CanHandle(@event))
     {
         return;
     }
     Console.WriteLine($"Membership for {@event.Source.PaidProduct.Name} upgraded. ");
 }
 public void HandleEvent(IEventOf <Payment> @event)
 {
     if (!CanHandle(@event))
     {
         return;
     }
     Console.WriteLine("Added a free video 'First Aid' to slip.");
 }
 protected void RaiseEvent <TSource>(IEventOf <TSource> @event) where TSource : EventSource
 {
     if (@event == null)
     {
         throw new ArgumentNullException(nameof(@event));
     }
     EventRoot.RaiseEventOf(@event);
 }
Esempio n. 5
0
 public void HandleEvent(IEventOf <Payment> @event)
 {
     if (!CanHandle(@event))
     {
         return;
     }
     Console.WriteLine("Generated a commission payment to the agent.");
 }
 public void HandleEvent(IEventOf <Payment> @event)
 {
     if (!CanHandle(@event))
     {
         return;
     }
     Console.WriteLine("Generated duplicate packing slip for the royalty department.");
 }
Esempio n. 7
0
        public bool CanHandle(IEventOf <Payment> @event)
        {
            var casted = @event as PaymentMadeEvent;

            if (casted == null)
            {
                return(false);
            }
            return(casted.Source.PaidProduct.MatchingTypes.Any(prd => prd == ProductType.MembershipUpgrade));
        }
        public bool CanHandle(IEventOf <Payment> @event)
        {
            var casted = @event as PaymentMadeEvent;

            if (casted == null)
            {
                return(false);
            }
            return(casted.Source.PaidProduct.MatchingTypes.Any(prd => prd == ProductType.Video) &&
                   casted.Source.PaidProduct.Name.Equals("Learning To Ski", StringComparison.CurrentCultureIgnoreCase));
        }
Esempio n. 9
0
        public bool CanHandle(IEventOf <Payment> @event)
        {
            var casted = @event as PaymentMadeEvent;

            if (casted == null)
            {
                return(false);
            }
            return(casted.Source.PaidProduct.MatchingTypes
                   .Count(prd => prd == ProductType.Book || prd == ProductType.Physical) > 0);
        }
Esempio n. 10
0
        public static void RaiseEventOf <TSource>(IEventOf <TSource> @event) where TSource : EventSource
        {
            if (@event == null)
            {
                return;
            }

            var handlers = _registeredHandlers(typeof(IEventOf <TSource>)).OfType <IEventHandler <IEventOf <TSource> > >();

            foreach (var handler in handlers.Where(h => h.CanHandle(@event)))
            {
                handler.HandleEvent(@event);
            }
        }