Example #1
0
        public override string BuildQueryPart(TableColumnResolveCallback tableColumnNameCallback, Func <object, string> addQueryParam, IQuerySyntaxProvider syntaxProvider)
        {
            var fn = tableColumnNameCallback(columnName, out var columnDef);

            if (columnDef is AliasQualifiedColumn aqc)
            {
                fn = aqc.FullQualifiedName;
            }
            return(syntaxProvider.BinaryCompareOperation(fn, op, TypeConverter.TryConvert(value, columnDef.Type.ManagedType), TypeConverter.TryConvert(value2, columnDef.Type.ManagedType), addQueryParam));
        }
Example #2
0
        private string BrowseColumns(ICollection <TableColumnDefinition> desc, string columnName, string tableAlias, TableColumnResolveCallback getCustomColumnDef, out TableColumnDefinition def)
        {
            def = desc.FirstOrDefault(n => n.ColumnName.Equals(columnName, StringComparison.OrdinalIgnoreCase));
            if (def != null)
            {
                return(SyntaxProvider.FullQualifyColumn(tableAlias, def.ColumnName)); // $"{(tableAlias != null ? $"[{tableAlias}]." : "")}[{col.ColumnName}]";
            }

            return(getCustomColumnDef?.Invoke(columnName, out def));
        }
Example #3
0
 /// <summary>
 /// Converts the current Query-Part to a string
 /// </summary>
 /// <param name="tableColumnNameCallback">a callback that provides table-information for a specific Column when building the query-string</param>
 /// <param name="addQueryParam">a callback that will create a query-parameter and return the parameter name. the parameter of the callback will be stored in the DbParameter object that is created</param>
 /// <param name="syntaxProvider">a Query-Syntax provider object that will help the filter to form specific query parts</param>
 /// <returns>the complete query for this Filter-object</returns>
 public abstract string BuildQueryPart(TableColumnResolveCallback tableColumnNameCallback, Func <object, string> addQueryParam, IQuerySyntaxProvider syntaxProvider);
Example #4
0
 /// <summary>
 /// Converts the current Query-Part to a string
 /// </summary>
 /// <param name="tableColumnNameCallback">a callback that provides table-information for a specific Column when building the query-string</param>
 /// <param name="addQueryParam">a callback that will create a query-parameter and return the parameter name. the parameter of the callback will be stored in the DbParameter object that is created</param>
 /// <param name="syntaxProvider">a Query-Syntax provider object that will help the filter to form specific query parts</param>
 /// <returns>the complete query for this Filter-object</returns>
 public override string BuildQueryPart(TableColumnResolveCallback tableColumnNameCallback, Func <object, string> addQueryParam, IQuerySyntaxProvider syntaxProvider)
 {
     return(syntaxProvider.BooleanLogicFilter(type, innerFilter, tableColumnNameCallback, addQueryParam, Invert));
 }