public Task <Unit> Handle(RegisterOrganizerCommand message, CancellationToken cancellationToken) { var organizer = new Organizer(message.Id, message.Name, message.Email, message.DocumentId); if (!organizer.IsValid()) { NotifyValidationError(organizer.ValidationResult); return(Task.FromResult(Unit.Value)); } var organizerExists = _organizerRepository.Search(o => o.DocumentId == organizer.DocumentId || o.Email == organizer.Email); if (organizerExists.Any()) { _mediator.PublishEvent(new DomainNotification(message.MessageType, "Document ID or Email already registered")); } _organizerRepository.Add(organizer); if (Commit()) { _mediator.PublishEvent(new OrganizerRegisteredEvent(organizer.Id, organizer.Name, organizer.Email, organizer.DocumentId)); } return(Task.FromResult(Unit.Value)); }
public void Handle(RegisterOrganizerCommand message) { var organizador = new Organizer(message.Id, message.Name, message.Document, message.Email); if (!organizador.IsValid()) { NotificarValidacoesErro(organizador.ValidationResult); return; } var organizadorExistente = _organizadorRepository.Search(o => o.Document == organizador.Document || o.Email == organizador.Email); if (organizadorExistente.Any()) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "CPF ou e-mail já utilizados")); } _organizadorRepository.Add(organizador); if (Commit()) { _bus.RaiseEvent(new OrganizerRegisteredEvent(organizador.Id, organizador.Name, organizador.Document, organizador.Email)); } }