Exemplo n.º 1
0
        public async Task <ActionResult <TodoGetSingleResponse> > PutTodo(int todoId, TodoPutRequest todoPutRequest)
        {
            var todo = await _todoRepository.GetTodo(todoId);

            if (todo == null)
            {
                return(NotFound());
            }

            todoPutRequest.Title         = string.IsNullOrEmpty(todoPutRequest.Title) ? todo.Title : todoPutRequest.Title;
            todoPutRequest.Description   = string.IsNullOrEmpty(todoPutRequest.Description) ? todo.Description : todoPutRequest.Description;
            todoPutRequest.DateDeadline  = todoPutRequest.DateDeadline.HasValue ? todoPutRequest.DateDeadline : todo.DateDeadline;
            todoPutRequest.DateCompleted = todoPutRequest.DateCompleted.HasValue ? todoPutRequest.DateCompleted : todo.DateCompleted;

            var savedTodo = await _todoRepository.PutTodo(todoId, todoPutRequest);

            _cache.Remove(todoId);

            return(savedTodo);
        }