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