Beispiel #1
0
        /// <summary>
        /// Add a parameter as input to stored procedure
        /// For SQL Server, parameter will be added as @{parameterName}
        /// For MySql, parameter will be added as in_{parameterName}
        /// </summary>
        public void AddParameter(string parameterName, DbType type, bool allowNull = false, string defaultValue = null, int maxLength = 0)
        {
            if (this.Parameters.Any(p => string.Equals(p.Name, parameterName, SyncGlobalization.DataSourceStringComparison)))
            {
                throw new FilterParameterAlreadyExistsException(parameterName, this.TableName);
            }

            var parameter = new SetupFilterParameter {
                Name = parameterName, DbType = type, DefaultValue = defaultValue, AllowNull = allowNull, MaxLength = maxLength
            };

            this.Parameters.Add(parameter);
        }
        public void SetupFilterParameter_Compare_TwoSetupFilterParameter_ShouldBe_Different()
        {
            SetupFilterParameter filterParam1 = new SetupFilterParameter();
            SetupFilterParameter filterParam2 = new SetupFilterParameter();

            filterParam2.SchemaName = "dbo";

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1.TableName = "Product1";
            filterParam2.TableName = "Product2";

            filterParam1.SchemaName = string.Empty;

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1.SchemaName = "dbo";
            filterParam2.SchemaName = "SalesLT";

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1 = new SetupFilterParameter();
            filterParam2 = new SetupFilterParameter();

            filterParam1.AllowNull = false;
            filterParam2.AllowNull = true;

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1        = new SetupFilterParameter();
            filterParam2        = new SetupFilterParameter();
            filterParam1.DbType = null;
            filterParam2.DbType = DbType.String;

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1        = new SetupFilterParameter();
            filterParam2        = new SetupFilterParameter();
            filterParam1.DbType = DbType.String;
            filterParam2.DbType = DbType.Int32;

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1 = new SetupFilterParameter();
            filterParam2 = new SetupFilterParameter();
            filterParam1.DefaultValue = "12";
            filterParam2.DefaultValue = null;

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));

            filterParam1           = new SetupFilterParameter();
            filterParam2           = new SetupFilterParameter();
            filterParam1.MaxLength = 100;
            filterParam2.MaxLength = 0;

            Assert.NotEqual(filterParam1, filterParam2);
            Assert.False(filterParam1.Equals(filterParam2));
        }
        public void SetupFilterParameter_Compare_TwoSetupFilterParameter_ShouldBe_Equals()
        {
            SetupFilterParameter filterParam1 = new SetupFilterParameter();
            SetupFilterParameter filterParam2 = new SetupFilterParameter();

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1 = new SetupFilterParameter();
            filterParam2 = new SetupFilterParameter();

            filterParam2.SchemaName = "";

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1.TableName = "Product";
            filterParam2.TableName = "Product";

            filterParam1.SchemaName = string.Empty;

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1.SchemaName = "dbo";
            filterParam2.SchemaName = "dbo";

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1 = new SetupFilterParameter();
            filterParam2 = new SetupFilterParameter();

            filterParam1.AllowNull = true;
            filterParam2.AllowNull = true;

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1.DbType = null;
            filterParam2.DbType = null;

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1.DbType = DbType.String;
            filterParam2.DbType = DbType.String;

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1.DefaultValue = "12";
            filterParam2.DefaultValue = "12";

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));

            filterParam1.MaxLength = 100;
            filterParam2.MaxLength = 100;

            Assert.Equal(filterParam1, filterParam2);
            Assert.True(filterParam1.Equals(filterParam2));
        }