示例#1
0
 public Task Handle(IAsyncDomainEvent notification, CancellationToken cancellationToken)
 {
     return(Task.Factory.StartNew(() =>
     {
         Log.Debug("Async Domain event {EventType} recorded: {@Event}.", notification.GetType().Name, notification);
     }
                                  ));
 }
        /// <inheritdoc />
        public async Task DispatchAsync(IAsyncDomainEvent domainEvent)
        {
            // Retriever query handler.
            Type genericType = typeof(IAsyncEventHandler <>);

            Type[] typeArguments    = { domainEvent.GetType() };
            Type   eventHandlerType = genericType.MakeGenericType(typeArguments);
            var    eventHandlers    = ServiceProvider.GetServices(eventHandlerType);

            foreach (var eventHandler in eventHandlers)
            {
                // Invoke handle method.
                MethodInfo retrieveMethod = eventHandlerType.GetMethod("HandleAsync");
                var        result         = (Task)retrieveMethod.Invoke(eventHandler, new object[] { domainEvent });
                await      result;
            }
        }
示例#3
0
 public Task PublishAsyncDomainEvent(IAsyncDomainEvent domainEvent)
 {
     return(_mediator.PublishAsync(domainEvent));
 }
 public void PrepareEvent(object obj, IAsyncDomainEvent evt) {
     var list = GetList(obj);
     list.Add(evt);
 }
        public void PrepareEvent(object obj, IAsyncDomainEvent evt)
        {
            var list = GetList(obj);

            list.Add(evt);
        }
示例#6
0
 /// <inheritdoc />
 public Task DispatchAsync(IAsyncDomainEvent domainEvent)
 {
     return(Task.CompletedTask);
 }
示例#7
0
 public async Task PublishAsync(IAsyncDomainEvent <TAggregateId> domainEvent)
 {
     await _mediator.PublishAsync(domainEvent);
 }
示例#8
0
 public void Publish(IAsyncDomainEvent domainEvent)
 {
     _mediator.Publish(domainEvent);
 }
示例#9
0
 public Task Notify(IAsyncDomainEvent message) => CalculatedGameSettings.NotifyEnMass(message);