Esempio 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());
        }