/// <summary>
 /// searches Todos
 /// </summary>
 /// <remarks>
 /// By passing in the appropriate options, you can search for
 /// available todos in the system
 ///
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='searchString'>
 /// pass an optional search string for looking up todos
 /// </param>
 /// <param name='skip'>
 /// number of records to skip for pagination
 /// </param>
 /// <param name='limit'>
 /// maximum number of records to return
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <TodoItem> > SearchTodosAsync(this ISimpleTodoAPI operations, string searchString = default(string), int?skip = default(int?), int?limit = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.SearchTodosWithHttpMessagesAsync(searchString, skip, limit, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Todo item id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <TodoItem> GetTodoAsync(this ISimpleTodoAPI operations, double id, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetTodoWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// adds an Todo item
 /// </summary>
 /// <remarks>
 /// Adds an item to the system
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='todoItem'>
 /// Todo item to add
 /// </param>
 public static void AddTodo(this ISimpleTodoAPI operations, UpdateTodoItem todoItem = default(UpdateTodoItem))
 {
     operations.AddTodoAsync(todoItem).GetAwaiter().GetResult();
 }
 /// <summary>
 /// searches Todos
 /// </summary>
 /// <remarks>
 /// By passing in the appropriate options, you can search for
 /// available todos in the system
 ///
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='searchString'>
 /// pass an optional search string for looking up todos
 /// </param>
 /// <param name='skip'>
 /// number of records to skip for pagination
 /// </param>
 /// <param name='limit'>
 /// maximum number of records to return
 /// </param>
 public static IList <TodoItem> SearchTodos(this ISimpleTodoAPI operations, string searchString = default(string), int?skip = default(int?), int?limit = default(int?))
 {
     return(operations.SearchTodosAsync(searchString, skip, limit).GetAwaiter().GetResult());
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Todo item id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteTodoAsync(this ISimpleTodoAPI operations, double id, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteTodoWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Todo item id
 /// </param>
 public static void DeleteTodo(this ISimpleTodoAPI operations, double id)
 {
     operations.DeleteTodoAsync(id).GetAwaiter().GetResult();
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Todo item id
 /// </param>
 /// <param name='todoItem'>
 /// Todo item to update
 /// </param>
 public static void UpdateTodo(this ISimpleTodoAPI operations, double id, UpdateTodoItem todoItem = default(UpdateTodoItem))
 {
     operations.UpdateTodoAsync(id, todoItem).GetAwaiter().GetResult();
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Todo item id
 /// </param>
 public static TodoItem GetTodo(this ISimpleTodoAPI operations, double id)
 {
     return(operations.GetTodoAsync(id).GetAwaiter().GetResult());
 }
 /// <summary>
 /// adds an Todo item
 /// </summary>
 /// <remarks>
 /// Adds an item to the system
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='todoItem'>
 /// Todo item to add
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task AddTodoAsync(this ISimpleTodoAPI operations, UpdateTodoItem todoItem = default(UpdateTodoItem), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.AddTodoWithHttpMessagesAsync(todoItem, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }