public Task <bool> Handle(UsuarioNovoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var usuario = new Usuario(Guid.NewGuid(), message.Nome, message.Salario, message.Email); if (_usuarioRepository.BuscarEmail(usuario.Email) != null) { Bus.EnviarEvent(new DomainNotification(message.MessageType, "E-mail já existe")); return(Task.FromResult(false)); } _usuarioRepository.Add(usuario); if (Commit()) { var msg = new UsuarioNovoEvent(usuario.Id, usuario.Nome, usuario.Email); //Log Bus.EnviarEvent(msg); //Banco de Leitura //_usuarioRepository.InserirUsuarioRead(usuario); //Enviar Para área de segurança _eventBus.Publish(msg, exchange: "Empresa.RHEvent", routingKey: "empresa.rhevent.novousuario"); } return(Task.FromResult(true)); }
protected void NotifyValidationErrors(Command message) { foreach (var error in message.ValidationResult.Errors) { _bus.EnviarEvent(new DomainNotification(message.MessageType, error.ErrorMessage)); } }
public Task <bool> Handle(UsuarioNovoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var usuario = new Usuario(message.Id, message.Nome, message.Email); if (_usuarioRepository.BuscarEmail(usuario.Email) != null) { Bus.EnviarEvent(new DomainNotification(message.MessageType, "E-mail já existe")); return(Task.FromResult(false)); } _usuarioRepository.Add(usuario); Commit(); return(Task.FromResult(true)); }
protected void NotifyError(string code, string message) { _mediator.EnviarEvent(new DomainNotification(code, message)); }