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