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); }
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)); }
//---------------------------------------------------------------------------- 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)); }
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)); }
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)); }
public T BuildFilter <T>(string expression, ISqlField sqlField) => BuildFilter <T>(_sqlFilterItems.Add(config => new SqlFilterItem.SqlFilterItem(expression, SqlFilterParameter.Create(config, sqlField))));