// POST odata/Todos
        public IHttpActionResult Post(TodoItem todoItem)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            TodoList todoList = FindTodoList(todoItem.TodoListId);
            if (todoList == null)
            {
                return BadRequest("Todo list does not exist");
            }

            todoList.Todos.Add(todoItem);
            db.SaveChanges();

            return Created(todoItem);
        }
        // PUT odata/Todos(5)
        public IHttpActionResult Put([FromODataUri] int key, TodoItem todoItem)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (key != todoItem.TodoItemId)
            {
                return BadRequest();
            }

            if (!GetTodoItemQuery(key).Any())
            {
                return NotFound();
            }

            db.Entry(todoItem).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TodoItemExists(key))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Updated(todoItem);
        }