Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 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));
 }