public WhereClauseBuilder ForParameter <T>(T value, string columnName, SqlDbType sqlType) { if (value == null) { return(this); } if (!_isFirstParameter) { _builder.AppendLine(_logicalOperator.ToString()); } if (_isFirstParameter) { _builder.AppendLine("WHERE"); _isFirstParameter = false; } string paramName = $"@{columnName}"; _builder.AppendLine($"[{columnName}] = {paramName}"); _command.AddSqlParameter(paramName, value, sqlType); return(this); }
public ExpressionBuilder(LinkOperator link, ExpressionBuilder left, LogicalOperator opr, params ExpressionBuilder[] right) { buffer = link.ToString() + " " + left.buffer + " " + opr.ToString(); if (opr == LogicalOperator.BETWEEN) { buffer += " " + right[0].buffer + " AND " + right[1].buffer; return; } if (opr == LogicalOperator.In) { buffer += " {"; bool first = true; foreach (ExpressionBuilder eb in right) { if (!first) { buffer += ", "; } buffer += eb.buffer; } buffer += "}"; return; } buffer += " " + right[0]; }
public override string ToString() { var str1 = LogicalOperator == LogicalOperator.NotSet ? "ON" : LogicalOperator.ToString().ToUpperInvariant(); string str2; if (!string.IsNullOrWhiteSpace(LeftTableAlias)) { str2 = "[" + LeftTableAlias + "].[" + LeftIdentifier + "]"; } else { str2 = "[" + LeftTableSchema + "].[" + LeftTableName + "].[" + LeftIdentifier + "]"; } var str3 = str2; string str4; if (!string.IsNullOrWhiteSpace(RightTableAlias)) { str4 = "[" + RightTableAlias + "].[" + RightIdentifier + "]"; } else { str4 = "[" + RightTableSchema + "].[" + RightTableName + "].[" + RightIdentifier + "]"; } var str5 = str4; return(string.Format("{0} {1} {2} {3}", (object)str1, (object)str3, (object)Operator, (object)str5)); }
private void WriteLogicalOperator(LogicalOperator logicalOperator) { WriteSpace(); writer.Write(logicalOperator.ToString().ToUpper()); WriteSpace(); }
/** * Parses the constraint as a SQL Where-clause item */ //@Override public String toSql(bool?includeSchemaInColumnPaths) { if (_expression != null) { return(_expression); } StringBuilder sb = new StringBuilder(); if (_childItems == null) { sb.Append(_selectItem.getSameQueryAlias(includeSchemaInColumnPaths)); if (_operand == null && _operator == OperatorType.EQUALS_TO) { sb.Append(" IS NULL"); } else if (_operand == null && _operator == OperatorType.DIFFERENT_FROM) { sb.Append(" IS NOT NULL"); } else { object operand = appendOperator(sb, _operand, _operator); if (operand is SelectItem) { String selectItemString = ((SelectItem)operand) .getSameQueryAlias(includeSchemaInColumnPaths); sb.Append(selectItemString); } else { ColumnType columnType = _selectItem.getExpectedColumnType(); string sqlValue = ""; // FormatHelper.formatSqlValue(columnType, operand); sb.Append(sqlValue); } } } else { sb.Append('('); for (int i = 0; i < _childItems.Count; i++) { FilterItem item = _childItems[i]; if (i != 0) { sb.Append(' '); sb.Append(_logicalOperator.ToString()); sb.Append(' '); } sb.Append(item.toSql()); } sb.Append(')'); } return(sb.ToString()); }
protected override void Serialize(System.Collections.Generic.IDictionary <string, object> json) { base.Serialize(json); json["logic"] = LogicalOperator.ToString().ToLowerInvariant(); if (FilterDescriptors.Any()) { json["filters"] = FilterDescriptors.OfType <JsonObject>().ToJson(); } }
private void HandleFirstParameter() { if (_isFirstParameter) { _builder.AppendLine("WHERE ("); _isFirstParameter = false; return; } _builder.AppendLine(_logicalOperator.ToString()); }
public override string ToString() { var actualOperator = LogicalOperator == LogicalOperator.NotSet ? "ON" : LogicalOperator.ToString() .ToUpperInvariant(); var leftIdentifier = string.IsNullOrWhiteSpace(LeftTableAlias) ? $"[{LeftTableSchema}].[{LeftTableName}].[{LeftIdentifier}]" : $"[{LeftTableAlias}].[{LeftIdentifier}]"; var rightIdentifier = string.IsNullOrWhiteSpace(RightTableAlias) ? $"[{RightTableSchema}].[{RightTableName}].[{RightIdentifier}]" : $"[{RightTableAlias}].[{RightIdentifier}]"; return(string.Format(Template, actualOperator, leftIdentifier, Operator, rightIdentifier)); }
private void Visit(BinaryExpression expr, LogicalOperator op) { bool encloseInParens; encloseInParens = expr.Left is BinaryExpression l && op > GetOperator(l); _writer.OpenParenIf(encloseInParens); expr.Left.Accept(this); _writer.CloseParenIf(encloseInParens); _writer.AppendSpace(); _writer.Append(op.ToString()); _writer.AppendSpace(); encloseInParens = expr.Right is BinaryExpression r && op > GetOperator(r); _writer.OpenParenIf(encloseInParens); expr.Right.Accept(this); _writer.CloseParenIf(encloseInParens); }
public static string ConstructFilterQueryString(this IEnumerable <SearchCriteria> searches, LogicalOperator logical) { if (searches == null || !searches.Any()) { return(string.Empty); } var queryString = new StringBuilder(); for (var i = 0; i < searches.Count(); i++) { var criteria = searches.ElementAt(i); var filterString = ConstructUriFilterString(criteria); queryString.Append(i > 0 ? string.Format(" {0} {1}", logical.ToString(), filterString) : filterString); } var query = string.Format("$filter={0}", queryString); return(query); }
public FilterBy(string member, LogicalOperator op, string value) { this.Member = member; this.Value = value; this.Operator = op.ToString(); }
public static string ConstructFilterQueryString(this IEnumerable<SearchCriteria> searches, LogicalOperator logical) { if (searches == null || !searches.Any()) return string.Empty; var queryString = new StringBuilder(); for (var i = 0; i < searches.Count(); i++) { var criteria = searches.ElementAt(i); var filterString = ConstructUriFilterString(criteria); queryString.Append(i > 0 ? string.Format(" {0} {1}", logical.ToString(), filterString) : filterString); } var query = string.Format("$filter={0}", queryString); return query; }
private void WriteLogicalOperator(LogicalOperator logicalOperator) { whereBuilder.Append(string.Format(" {0} ", logicalOperator.ToString().ToUpper())); }
public WhereClauseLogicalOperatorWindows(LogicalOperator logicalOperator) { _value = logicalOperator.ToString(); }
public override string ToString() { return($@"{@operator.ToString()} : {id}"); }
/// <summary> /// Get field filter expression by field search criteria. /// </summary> /// <returns></returns> public static String GetFieldFilterExpression(ObservableCollection <SpeciesObservationFieldSearchCriteria> searchCriterias, LogicalOperator logicalOperator) { StringBuilder fieldFilterExpression = new StringBuilder(); String filterValue = String.Empty; String filterExpression = String.Empty; foreach (var searchCriteria in searchCriterias) { if (fieldFilterExpression.Length > 0) { fieldFilterExpression.Append(" " + logicalOperator.ToString().ToUpper() + " "); } fieldFilterExpression.Append(searchCriteria.Property.GetName()); filterValue = searchCriteria.Value; switch (searchCriteria.Operator) { case CompareOperator.BeginsWith: filterExpression = " LIKE '{1}%'"; break; case CompareOperator.Contains: filterExpression = " LIKE '%{1}%'"; break; case CompareOperator.EndsWith: filterExpression = " LIKE '%{1}'"; break; case CompareOperator.Equal: filterExpression = " = {0}{1}{2}"; break; case CompareOperator.Greater: filterExpression = " > {0}{1}{2}"; break; case CompareOperator.GreaterOrEqual: filterExpression = " >= {0}{1}{2}"; break; case CompareOperator.Less: filterExpression = " < {0}{1}{2}"; break; case CompareOperator.LessOrEqual: filterExpression = " <= {0}{1}{2}"; break; case CompareOperator.Like: filterExpression = " LIKE '{1}'"; break; case CompareOperator.NotEqual: filterExpression = " <> {0}{1}{2}"; break; default: throw new ArgumentOutOfRangeException(); } // Apply cituation signs if (searchCriteria.Type == DataType.String) { filterExpression = String.Format(filterExpression, "'", filterValue, "'"); } else { filterExpression = String.Format(filterExpression, String.Empty, filterValue, String.Empty); } fieldFilterExpression.Append(filterExpression); } return(fieldFilterExpression.ToString()); }
private void WriteLogicalOperator(LogicalOperator logicalOperator) { this.whereBuilder.Append(string.Format(CultureInfo.InvariantCulture, " {0} ", logicalOperator.ToString().ToUpper(CultureInfo.InvariantCulture))); }