public async Task <GenericCommandResponseModel> Handle(UpdateTodoRequestModel request, CancellationToken cancellationToken) { // Fail Fast Validation var validationResult = request.Validate(); if (!validationResult.IsValid) { return(new GenericCommandResponseModel(false, "Ops, parece que sua tarefa está errada!", validationResult.Errors)); } // Recupera o TodoItem (Rehidratação) var todo = await _repository.GetByIdAsync(request.Id, request.User); // Altera o título todo.UpdateTitle(request.Title); // Salva no banco await _repository.UpdateAsync(todo); // Retorna o resultado return(new GenericCommandResponseModel(true, "Tarefa salva", todo)); }
public async Task <GenericCommandResponseModel> UpdateAsync([FromBody] UpdateTodoRequestModel command, [FromServices] IMediator mediator) { command.User = User.Claims.FirstOrDefault(x => x.Type == "user_id")?.Value; return(await mediator.Send(command)); }