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 override TList <PayoutItem> Find(TransactionManager transactionManager, SqlFilterParameterCollection parameters, string orderBy, int start, int pageLength, out int count) { SqlDatabase database = new SqlDatabase(this._connectionString); DbCommand command = StoredProcedureProvider.GetCommandWrapper(database, "dbo.PayoutItem_Find_Dynamic", typeof(PayoutItemColumn), parameters, orderBy, start, pageLength); if (parameters != null) { for (int i = 0; i < parameters.Count; i++) { SqlFilterParameter parameter = parameters[i]; database.AddInParameter(command, parameter.Name, parameter.DbType, parameter.Value); } } TList <PayoutItem> rows = new TList <PayoutItem>(); IDataReader reader = null; try { if (transactionManager != null) { reader = Utility.ExecuteReader(transactionManager, command); } else { reader = Utility.ExecuteReader(database, command); } PayoutItemProviderBaseCore.Fill(reader, rows, 0, 0x7fffffff); count = rows.Count; if (!reader.NextResult()) { return(rows); } if (reader.Read()) { count = reader.GetInt32(0); } } finally { if (reader != null) { reader.Close(); } } return(rows); }
public T BuildFilter <T>(string expression, ISqlField sqlField) => BuildFilter <T>(_sqlFilterItems.Add(config => new SqlFilterItem.SqlFilterItem(expression, SqlFilterParameter.Create(config, sqlField))));