//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// An IDbConnection extension method that executes the reader asynchronous operation. /// </summary> /// /// <remarks> Msacli, 22.04.2019. </remarks> /// /// <param name="connection"> The connection to act on. </param> /// <param name="sql"> The SQL. </param> /// <param name="commandType"> (Optional) Type of the command. </param> /// <param name="transaction"> (Optional) The transaction. </param> /// <param name="inputParameters"> (Optional) Options for controlling the input. </param> /// <param name="outputParameters"> (Optional) Options for controlling the output. </param> /// /// <returns> An asynchronous result that yields the execute reader. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// public static Task <IDataReader> ExecuteReaderAsync(this IDbConnection connection, string sql, CommandType commandType = CommandType.Text, IDbTransaction transaction = null, Dictionary <string, object> inputParameters = null, Dictionary <string, object> outputParameters = null) { var resultTask = Task.Factory.StartNew(() => { return(DxConnectionOperationExtension.ExecuteReader(connection, sql, commandType, transaction, inputParameters, outputParameters)); }); return(resultTask); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> An IDbConnection extension method that first as dynamic asynchronous. </summary> /// /// <remarks> Msacli, 22.04.2019. </remarks> /// /// <param name="connection"> The connection to act on. </param> /// <param name="sqlText"> The SQL text. </param> /// <param name="commandType"> (Optional) Type of the command. </param> /// <param name="transaction"> (Optional) The transaction. </param> /// <param name="inputParameters"> (Optional) Options for controlling the input. </param> /// <param name="outputParameters"> (Optional) Options for controlling the output. </param> /// /// <returns> An asynchronous result that yields the first as dynamic. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// public static Task <ExpandoObject> FirstAsDynamicAsync(this IDbConnection connection, string sqlText, CommandType commandType = CommandType.Text, IDbTransaction transaction = null, Dictionary <string, object> inputParameters = null, Dictionary <string, object> outputParameters = null) { var resultTask = Task.Factory.StartNew(() => { return(DxConnectionOperationExtension.FirstAsDynamic(connection, sqlText, commandType, transaction, inputParameters, outputParameters)); }); return(resultTask); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> An IDbConnection extension method that last asynchronous. </summary> /// /// <remarks> Msacli, 22.04.2019. </remarks> /// /// <typeparam name="T"> Generic type parameter. </typeparam> /// <param name="connection"> The connection to act on. </param> /// <param name="sqlText"> The SQL text. </param> /// <param name="commandType"> (Optional) Type of the command. </param> /// <param name="transaction"> (Optional) The transaction. </param> /// <param name="inputParameters"> (Optional) Options for controlling the input. </param> /// <param name="outputParameters"> (Optional) Options for controlling the output. </param> /// /// <returns> An asynchronous result that yields a T. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// public static Task <T> LastAsync <T>(this IDbConnection connection, string sqlText, CommandType commandType = CommandType.Text, IDbTransaction transaction = null, Dictionary <string, object> inputParameters = null, Dictionary <string, object> outputParameters = null) where T : class { var resultTask = Task.Factory.StartNew(() => { return(DxConnectionOperationExtension.Last <T>(connection, sqlText, commandType, transaction, inputParameters, outputParameters)); }); return(resultTask); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// An IDbConnection extension method that gets dynamic result set with paging asynchronous. /// </summary> /// /// <remarks> Msacli, 22.04.2019. </remarks> /// /// <param name="connection"> The connection to act on. </param> /// <param name="sql"> The SQL. </param> /// <param name="commandType"> Type of the command. </param> /// <param name="transaction"> (Optional) The transaction. </param> /// <param name="inputParameters"> (Optional) Options for controlling the input. </param> /// <param name="outputParameters"> (Optional) Options for controlling the output. </param> /// <param name="pageNumber"> (Optional) The page number. </param> /// <param name="pageItemCount"> (Optional) Number of page ıtems. </param> /// /// <returns> An asynchronous result that yields the dynamic result set with paging. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// public static Task <List <ExpandoObject> > GetDynamicResultSetWithPagingAsync(this IDbConnection connection, string sql, CommandType commandType, IDbTransaction transaction = null, Dictionary <string, object> inputParameters = null, Dictionary <string, object> outputParameters = null, uint pageNumber = 1, uint pageItemCount = 10) { var resultTask = Task.Factory.StartNew(() => { return(DxConnectionOperationExtension.GetDynamicResultSetWithPaging(connection, sql, commandType, transaction, inputParameters, outputParameters)); }); return(resultTask); }