public void HandleEvent(IEventOf <Payment> @event) { if (!CanHandle(@event)) { return; } Console.WriteLine("Generated slip."); }
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); }
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."); }
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)); }
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); }
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); } }