/// <summary> /// Greater than or equal condition /// </summary> /// <param name="sourceQuery">Source query</param> /// <param name="fieldName">Field name</param> /// <param name="subquery">Subquery</param> /// <param name="subqueryFieldName">Subquery field</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <returns>Return the newest IQuery object</returns> public static IQuery GreaterThanOrEqual(this IQuery sourceQuery, string fieldName, IQuery subquery, string subqueryFieldName = "", bool or = false) { if (subquery != null) { sourceQuery = sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, fieldName, CriteriaOperator.GreaterThanOrEqual, subquery, null, new QueryParameterOptions() { QueryFieldName = subqueryFieldName }); } return(sourceQuery); }
/// <summary> /// BeginLike Condition /// </summary> /// <typeparam name="TQueryModel">Query model</typeparam> /// <param name="sourceQuery">Source query</param> /// <param name="field">Field</param> /// <param name="value">Value</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <param name="converter">Criteria converter</param> /// <returns>Return the newest IQuery object</returns> public static IQuery BeginLike <TQueryModel>(this IQuery sourceQuery, Expression <Func <TQueryModel, dynamic> > field, string value, bool or = false, ICriteriaConverter converter = null) where TQueryModel : IQueryModel <TQueryModel> { return(sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, ExpressionHelper.GetExpressionPropertyName(field.Body), CriteriaOperator.BeginLike, value, converter)); }
/// <summary> /// BeginLike Condition /// </summary> /// <param name="sourceQuery">Source query</param> /// <param name="fieldName">Field name</param> /// <param name="value">Value</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <param name="converter">Criteria converter</param> /// <returns>Return the newest IQuery object</returns> public static IQuery BeginLike(this IQuery sourceQuery, string fieldName, string value, bool or = false, ICriteriaConverter converter = null) { return(sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, fieldName, CriteriaOperator.BeginLike, value, converter)); }
/// <summary> /// Greater than or equal condition /// </summary> /// <param name="sourceQuery">Source query</param> /// <param name="fieldName">Field name</param> /// <param name="value">Value</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <param name="converter">Criteria converter</param> /// <returns>Return the newest IQuery object</returns> public static IQuery GreaterThanOrEqual(this IQuery sourceQuery, string fieldName, dynamic value, bool or = false, ICriteriaConverter converter = null) { return(sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, fieldName, CriteriaOperator.GreaterThanOrEqual, value, converter)); }
/// <summary> /// NotInclude Condition /// </summary> /// <param name="sourceQuery">Source query</param> /// <param name="fieldName">Field name</param> /// <param name="value">Value</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <param name="converter">Criteria converter</param> /// <returns>Return the newest IQuery object</returns> public static IQuery NotIn(this IQuery sourceQuery, string fieldName, IEnumerable value, bool or = false, ICriteriaConverter converter = null) { return(sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, fieldName, CriteriaOperator.NotIn, value, converter)); }
/// <summary> /// Field is not null /// </summary> /// <typeparam name="TQueryModel">Query model</typeparam> /// <param name="sourceQuery">Source query</param> /// <param name="field">Field</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <returns>Return the newest IQuery object</returns> public static IQuery NotNull <TQueryModel>(this IQuery sourceQuery, Expression <Func <TQueryModel, dynamic> > field, bool or = false) where TQueryModel : IQueryModel <TQueryModel> { return(sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, ExpressionHelper.GetExpressionPropertyName(field.Body), CriteriaOperator.NotNull, null)); }
/// <summary> /// Field is not null /// </summary> /// <param name="sourceQuery">Source query</param> /// <param name="fieldName">Field name</param> /// <param name="or">Connect with 'and'(true/default) or 'or'(false)</param> /// <returns>Return the newest IQuery object</returns> public static IQuery NotNull(this IQuery sourceQuery, string fieldName, bool or = false) { return(sourceQuery.AddCriteria(or ? QueryOperator.OR : QueryOperator.AND, fieldName, CriteriaOperator.NotNull, null)); }
/// <summary> /// Add a condition with 'and' /// </summary> /// <param name="sourceQuery">Source query</param> /// <param name="fieldName">Field name</param> /// <param name="operator">Condition operator</param> /// <param name="value">Value</param> /// <param name="converter">Criteria converter</param> /// <returns>Return the newest IQuery object</returns> public static IQuery And(this IQuery sourceQuery, string fieldName, CriteriaOperator @operator, dynamic value, ICriteriaConverter converter = null) { return(sourceQuery.AddCriteria(QueryOperator.AND, fieldName, @operator, value, converter)); }