public Task <bool> Handle(AtualizarAlunoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var aluno = new Aluno(message.Id, message.IdUsuario, message.Nome, message.Matricula); var existeAluno = _alunoRepository.GetById(aluno.Id); if (existeAluno != null && existeAluno.Id != aluno.Id) { if (!existeAluno.Equals(aluno)) { Bus.RaiseEvent(new DomainNotification(message.MessageType, "Aluno não encontrado na base de dados.")); return(Task.FromResult(false)); } } _alunoRepository.Update(aluno); if (Commit()) { Bus.RaiseEvent(new AlunoAtualizadoEvent(aluno.Id, aluno.IdUsuario, aluno.Nome, aluno.Matricula)); } return(Task.FromResult(true)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] AtualizarAlunoCommand command) { if (command == null || command.AlunoId != id) { return(BadRequest()); } return(Ok(await Mediator.Send(command))); }