public TBuilder WithReturnParameter()
        {
            var parameter = new DatabaseCommandParameter
            {
                Name      = "ReturnParameter",
                Direction = ParameterDirection.ReturnValue
            };

            _commandRequest.Parameters.Add(parameter);

            return(this as TBuilder);
        }
        public TBuilder AddOutputParameter(string parameterName, object databaseType)
        {
            var parameter = new DatabaseCommandParameter
            {
                Name         = parameterName,
                Direction    = ParameterDirection.Output,
                DatabaseType = databaseType.ToString()
            };

            _commandRequest.Parameters.Add(parameter);

            return(this as TBuilder);
        }
        public TBuilder AddInputOutputParameter <TParameter>(string parameterName, TParameter parameterValue)
        {
            var parameter = new DatabaseCommandParameter
            {
                Name      = parameterName,
                Value     = parameterValue,
                Direction = ParameterDirection.InputOutput
            };

            parameter.Value ??= DBNull.Value;

            _commandRequest.Parameters.Add(parameter);

            return(this as TBuilder);
        }
        public TBuilder AddInputOutputParameter <TParameter>(string parameterName, TParameter parameterValue, object databaseType, int size)
        {
            var parameter = new DatabaseCommandParameter
            {
                Name         = parameterName,
                Value        = parameterValue,
                Direction    = ParameterDirection.InputOutput,
                DatabaseType = databaseType.ToString(),
                Size         = size
            };

            parameter.Value ??= DBNull.Value;

            _commandRequest.Parameters.Add(parameter);

            return(this as TBuilder);
        }
Example #5
0
        private SqlParameter ToSqlParameter(DatabaseCommandParameter databaseCommandParameter)
        {
            var parameter = new SqlParameter
            {
                ParameterName = databaseCommandParameter.Name,
                Value         = databaseCommandParameter.Value,
                Direction     = databaseCommandParameter.Direction,
                Size          = databaseCommandParameter.Size
            };

            if (!string.IsNullOrEmpty(databaseCommandParameter.DatabaseType))
            {
                if (!Enum.TryParse(databaseCommandParameter.DatabaseType, true, out SqlDbType sqlDbType))
                {
                    throw new InvalidOperationException($"Could not parse databaseType of '{databaseCommandParameter.DatabaseType}' to a System.Data.DbType");
                }

                parameter.SqlDbType = sqlDbType;
            }

            return(parameter);
        }