예제 #1
0
        public void ShouldBuildWithInParam()
        {
            // Arrange
            IStoreProcParamsBuilder builder = new StoreProcParamsBuilder();

            // Act
            builder.WithInParam("name", 123);

            // Assert
            StoredProcParam param = builder.Build().First();

            param.name.ShouldBe("name");
            param.type.ShouldBe("integer");
            param.param_type.ShouldBe("IN");
            param.value.ShouldBe("123");
        }
예제 #2
0
        public void ShouldBuildWithOutParam()
        {
            // Arrange
            IStoreProcParamsBuilder builder = new StoreProcParamsBuilder();

            // Act
            builder.WithOutParam <bool>("name", 100);

            // Assert
            StoredProcParam param = builder.Build().First();

            param.name.ShouldBe("name");
            param.type.ShouldBe("boolean");
            param.param_type.ShouldBe("OUT");
            param.value.ShouldBe(null);
            param.length.ShouldBe(100);
        }
예제 #3
0
        public void ShouldBuildWithInOutParam()
        {
            // Arrange
            IStoreProcParamsBuilder builder = new StoreProcParamsBuilder();

            // Act
            builder.WithInOutParam("name", "value", 100);

            // Assert
            StoredProcParam param = builder.Build().First();

            param.name.ShouldBe("name");
            param.type.ShouldBe("string");
            param.param_type.ShouldBe("INOUT");
            param.value.ShouldBe("value");
            param.length.ShouldBe(100);
        }
예제 #4
0
        /// <inheritdoc />
        public IStoreProcParamsBuilder WithOutParam <TParam>(string name, int?length = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            StoredProcParam parameter = new StoredProcParam
            {
                name       = name,
                param_type = "OUT",
                type       = TypeMap.GetTypeName(typeof(TParam)),
                length     = length
            };

            parameters.Add(parameter);

            return(this);
        }
예제 #5
0
        /// <inheritdoc />
        public IStoreProcParamsBuilder WithInParam <TParam>(string name, TParam value)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            StoredProcParam parameter = new StoredProcParam
            {
                name       = name,
                param_type = "IN",
                type       = TypeMap.GetTypeName(typeof(TParam)),
                value      = value.ToString(),
            };

            parameters.Add(parameter);

            return(this);
        }
예제 #6
0
        /// <inheritdoc />
        public IStoreProcParamsBuilder WithInOutParam <TParam>(string name, TParam value = default(TParam), int?length = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            StoredProcParam parameter = new StoredProcParam
            {
                name       = name,
                param_type = "INOUT",
                type       = TypeMap.GetTypeName(typeof(TParam)),
                value      = Equals(value, default(TParam)) ? null : value.ToString(),
                length     = length
            };

            parameters.Add(parameter);

            return(this);
        }