public void Delete(int id)
        {
            ExceptionsModel.TodoIsNullCheck(Todos);

            ExceptionsModel.TodoExistsCheck(Todos, id);

            Todos.Remove(id);
        }
        public ToDoItem Put(int id, [FromBody] ToDoItem value)
        {
            ExceptionsModel.TodoIsNullCheck(Todos);

            ExceptionsModel.TodoIdCheck(id, value);

            ExceptionsModel.TodoExistsCheck(Todos, id);

            Todos.Remove(id);
            Todos.Add(id, value);
            return(Todos[id]);
        }
        public ToDoItem Post([FromBody] ToDoItem value)
        {
            ExceptionsModel.TodoIsNullCheck(Todos);

            ToDoItem todo = new ToDoItem
            {
                Id         = TodoCount.Value,
                IsComplete = value.IsComplete,
                Title      = value.Title
            };

            if (Todos.TryAdd(TodoCount.Value, todo) == false)
            {
                throw new Exception("Todo already exists.");
            }

            TodoCount++;
            return(todo);
        }