Exemplo n.º 1
0
        public void Create_BooleanParam_ReturnsBinaryNumber(bool?param, string expected)
        {
            var configuration = new SqlFilterConfiguration {
                WithoutParameters = true
            };

            var filterParam = SqlFilterParameter.Create(configuration, param);

            Assert.Equal(expected, filterParam.Value);
        }
Exemplo n.º 2
0
        public T ComparisonFilter <T>(string @operator, object value)
        {
            Func <SqlFilterConfiguration, SqlFilterParameter[]> args = config => new[]
            {
                SqlFilterParameter.Create(config, _sqlField),
                SqlFilterParameter.Create(config, value)
            };

            return(BuildFilter <T>("{0} " + @operator + " {1}", args));
        }
Exemplo n.º 3
0
        //----------------------------------------------------------------------------

        public TResult Like(string value)
        {
            if (string.IsNullOrWhiteSpace(value))
            {
                throw new ArgumentException(nameof(value));
            }
            SqlFilterParameter[] GetParameters(SqlFilterConfiguration config) => new[]
            {
                SqlFilterParameter.Create(config, _sqlField), SqlFilterParameter.Create(config, value)
            };

            return(_sqlFilterBuilder.BuildFilter <TResult>("{0} LIKE {1}", GetParameters));
        }
Exemplo n.º 4
0
        public T ContainsFilter <T, TType>(string @operator, IEnumerable <TType> values)
        {
            Func <SqlFilterConfiguration, SqlFilterParameter[]> args = config =>
            {
                var list = new List <SqlFilterParameter>();
                list.Add(SqlFilterParameter.Create(config, _sqlField));
                list.AddRange(values.Select(val => SqlFilterParameter.Create(config, val)));
                return(list.ToArray());
            };

            var parameters = string.Join(",", values.Select((val, i) => $"{{{i + 1}}}"));

            return(BuildFilter <T>("{0} " + @operator + " (" + parameters + ")", args));
        }
Exemplo n.º 5
0
        public T ComparisonFilter <T>(string @operator, ISqlField sqlField)
        {
            if (sqlField == null)
            {
                throw new ArgumentNullException(nameof(sqlField));
            }
            Func <SqlFilterConfiguration, SqlFilterParameter[]> args = config => new[]
            {
                SqlFilterParameter.Create(config, _sqlField),
                SqlFilterParameter.Create(config, sqlField)
            };

            return(BuildFilter <T>("{0} " + @operator + " {1}", args));
        }
Exemplo n.º 6
0
 public T BuildFilter <T>(string expression, ISqlField sqlField)
 => BuildFilter <T>(_sqlFilterItems.Add(config
                                        => new SqlFilterItem.SqlFilterItem(expression, SqlFilterParameter.Create(config, sqlField))));