public async Task <IResponse> Publish <TEvent>(TEvent domainEvent) where TEvent : IDomainEvent { return(await _mediator.Publish(new DomainEventMessage <TEvent> { Event = domainEvent })); }