Ejemplo n.º 1
0
        public IEnumerable <Todo> Put([FromBody] Todo todo)
        {
            if (ModelState.IsValid)
            {
                // Carefully replace editable fields being mindful of what is being tracked by EF ...
                var oldTodo = Get(todo.Id).First();
                oldTodo.Task    = todo.Task;
                oldTodo.DueDate = todo.DueDate;

                var now = DateTime.Now.ToUniversalTime();
                if (todo.TodoComments != null)
                {
                    foreach (var c in todo.TodoComments)
                    {
                        var oldComment = todosRepository.GetTodoComment(c.Id);
                        if (oldComment.Text != c.Text)
                        {
                            oldComment.Text      = c.Text;
                            oldComment.UpdatedOn = now;
                        }
                    }
                }

                todosRepository.Update(oldTodo);
            }

            return(Get());
        }
 public async Task UpdateTodo(Todo todo)
 {
     try
     {
         await _todoRepository.Update(todo);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public async Task <ActionResult <TodoItem> > Put(string id, [FromBody] EditTodoRequest value)
        {
            var result = await repository.Update(id, value);

            if (result != null)
            {
                await cache.Invalidate(id);

                return(AcceptedAtAction(nameof(Get), new { id }, result));
            }
            else
            {
                return(NotFound());
            }
        }