public override async Task Handle(EntityCreatedEvent <TEntity> domainEvent, CancellationToken cancellationToken) { await this.HandleEventCore(domainEvent, cancellationToken); try { this.validator.Validate <ICreateEntityValidator <TEntity> >(domainEvent.Entity); } catch (Exception validationError) { domainEvent.Errors.Add(validationError); } }
/// <summary> /// Core logic of handling event raised after entity was created. /// </summary> /// <param name="domainEvent">Event raised after entity was created.</param> /// <param name="cancellationToken">Cancellation token.</param> protected abstract Task HandleEventCore(EntityCreatedEvent <TEntity> domainEvent, CancellationToken cancellationToken);