//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// CommonHelpers satellite library | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Collections.Generic;
using System.Threading;
using System.Data;
using System.Data.SqlClient;

namespace CommonHelpers {

//**************************************************************************************************
partial class HQueryExecContextBase {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidCastException" />
public static SqlParameter AddNullableInputParam( SqlCommand command,
                                                  string paramName, [HOptional] object? value ) =>
 HSqlParam.AddNullableIn( command, paramName, value );
/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidCastException" />
public static SqlParameter AddNullableInOutParam( SqlCommand command,
                                                  string paramName, [HOptional] object? value ) =>
   HSqlParam.AddNullableInOut( command, paramName, value );
/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
public static SqlParameter AddNullableRetValueParam(SqlCommand command) =>
   HSqlParam.AddNullableRetValue( command );

//--------------------------------------------------------------------------------------------------

/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidCastException" />
public static SqlParameter AddNullableInputParam( SqlCommand command, string paramName,
                                                  DbType dbType, [HOptional] object? value ) =>
   HSqlParam.AddNullableIn( command, paramName, dbType, value );
/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
public static SqlParameter AddNullableOutputParam( SqlCommand command,
                                                   string paramName, DbType dbType ) =>
   HSqlParam.AddNullableOut( command, paramName, dbType );
/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
/// <exception cref="InvalidCastException" />
public static SqlParameter AddNullableInOutParam( SqlCommand command, string paramName,
                                                  DbType dbType, [HOptional] object? value ) =>
   HSqlParam.AddNullableInOut( command, paramName, dbType, value );
/// <exception cref="ArgumentNullException" />
/// <exception cref="ArgumentException" />
public static SqlParameter AddNullableRetValueParam(SqlCommand command,DbType dbType) =>
   HSqlParam.AddNullableRetValue( command, dbType );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // HQueryExecContextBase
//**************************************************************************************************

} // CommonHelpers
