public Task <bool> Handle(UpdateExpedidorCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var expedidor = new Expedidor(Guid.NewGuid(), message.CompanhiaNome, message.Telefone); var expedidorExiste = _expedidorRepository.GetByNomeCompanhia(expedidor.CompanhiaNome); if (expedidorExiste != null && expedidorExiste.Id != expedidor.Id) { if (!expedidorExiste.Equals(expedidor)) { Bus.RaiseEvent(new DomainNotification(message.MessageType, "O expedidoro já foi recebido")); } return(Task.FromResult(false)); } _expedidorRepository.Update(expedidor); if (Commit()) { Bus.RaiseEvent(new ExpedidorUpdatedEvent(expedidor.Id, expedidor.CompanhiaNome, expedidor.Telefone)); } return(Task.FromResult(true)); }
public Task <bool> Handle(RegisterNewExpedidorCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var expedidor = new Expedidor(Guid.NewGuid(), message.CompanhiaNome, message.Telefone); if (_expedidorRepository.GetByNomeCompanhia(expedidor.CompanhiaNome) != null) { Bus.RaiseEvent(new DomainNotification(message.MessageType, "O nome deste expedidro já exixte")); return(Task.FromResult(false)); } _expedidorRepository.Add(expedidor); if (Commit()) { Bus.RaiseEvent(new ExpedidorRegisteredEvent(expedidor.Id, expedidor.CompanhiaNome, expedidor.Telefone)); } return(Task.FromResult(true)); }