/// <summary>
        /// Converts to a <see cref="SqlParameter"/>.
        /// </summary>
        /// <param name="dateTimeOutputParameter">The <see cref="DateTime"/> Output parameter.</param>
        /// <returns>SqlParameter.</returns>
        public static SqlParameter ToSqlParameter(
            this OutputParameterDefinition <DateTime> dateTimeOutputParameter)
        {
            dateTimeOutputParameter.MustForArg(nameof(dateTimeOutputParameter)).NotBeNull();
            var name = dateTimeOutputParameter.Name;

            name = name.StartsWith("@", StringComparison.Ordinal) ? name : "@" + name;
            var result = SqlParameterExtensions.CreateOutputDateTimeSqlParameter(name);

            return(result);
        }
        /// <summary>
        /// Converts to a <see cref="SqlParameter"/>.
        /// </summary>
        /// <param name="decimalOutputParameter">The decimal Output parameter.</param>
        /// <returns>SqlParameter.</returns>
        public static SqlParameter ToSqlParameter(
            this OutputParameterDefinition <decimal> decimalOutputParameter)
        {
            decimalOutputParameter.MustForArg(nameof(decimalOutputParameter)).NotBeNull();
            var dataType = (DecimalSqlDataTypeRepresentation)decimalOutputParameter.SqlDataType;
            var name     = decimalOutputParameter.Name;

            name = name.StartsWith("@", StringComparison.Ordinal) ? name : "@" + name;
            var result = SqlParameterExtensions.CreateOutputDecimalSqlParameter(name, dataType.Precision, dataType.Scale);

            return(result);
        }
        /// <summary>
        /// Converts to a <see cref="SqlParameter"/>.
        /// </summary>
        /// <param name="binaryOutputParameter">The decimal Output parameter.</param>
        /// <returns>SqlParameter.</returns>
        public static SqlParameter ToSqlParameter(
            this OutputParameterDefinition <byte[]> binaryOutputParameter)
        {
            binaryOutputParameter.MustForArg(nameof(binaryOutputParameter)).NotBeNull();
            var dataType = (BinarySqlDataTypeRepresentation)binaryOutputParameter.SqlDataType;
            var name     = binaryOutputParameter.Name;

            name = name.StartsWith("@", StringComparison.Ordinal) ? name : "@" + name;
            var result = SqlParameterExtensions.CreateOutputByteArraySqlParameter(name, size: dataType.SupportedLength);

            return(result);
        }
        public async Task <List <T> > ExecuteSPAsync <T>(object obj)
        {
            SqlParameterExtensions sqlParameterExtensions = new SqlParameterExtensions();
            List <SqlParameter>    sqlParameters          = obj != null?sqlParameterExtensions.ToSqlParamsList(obj) : (List <SqlParameter>)obj;

            try
            {
                List <T> result = await _unitOfWork.ExecuteSPAsync <T>(sqlParameterExtensions.GetStoredProcedureName(obj), sqlParameters);

                sqlParameterExtensions.ToObject(obj, sqlParameters);
                return(result);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #5
0
 public void ShouldReturnNullWhenCloneIsCalledWithNullParameter()
 {
     Assert.That(SqlParameterExtensions.Clone(null), Is.EqualTo(null));
 }