private bool CompareOrderBy(OrderByClause clause1, OrderByClause clause2, bool navigationNextLink) { if (clause1 == clause2) { return(true); } if (clause1 == null || clause2 == null) { return(false); } OeQueryNodeComparer queryNodeComparer = navigationNextLink ? new OeQueryNodeComparer(default(OeCacheComparerParameterValues)) : _queryNodeComparer; return(clause1.Direction == clause2.Direction && clause1.ItemType.IsEqual(clause2.ItemType) && queryNodeComparer.Compare(clause1.RangeVariable, clause2.RangeVariable) && queryNodeComparer.Compare(clause1.Expression, clause2.Expression) && CompareOrderBy(clause1.ThenBy, clause2.ThenBy, navigationNextLink)); }
private bool CompareFilter(FilterClause clause1, FilterClause clause2, bool navigationNextLink) { if (clause1 == clause2) { return(true); } if (clause1 == null || clause2 == null) { return(false); } if (!clause1.ItemType.IsEqual(clause1.ItemType)) { return(false); } OeQueryNodeComparer queryNodeComparer = navigationNextLink ? new OeQueryNodeComparer(default(OeCacheComparerParameterValues)) : _queryNodeComparer; if (!queryNodeComparer.Compare(clause1.RangeVariable, clause2.RangeVariable)) { return(false); } return(queryNodeComparer.Compare(clause1.Expression, clause2.Expression)); }
public OeCacheComparer(IReadOnlyDictionary <ConstantNode, Db.OeQueryCacheDbParameterDefinition> constantToParameterMapper, bool navigationNextLink) { _parameterValues = new OeCacheComparerParameterValues(constantToParameterMapper); _queryNodeComparer = new OeQueryNodeComparer(_parameterValues); _navigationNextLink = navigationNextLink; }
public OeODataUriComparer(IReadOnlyDictionary <ConstantNode, Db.OeQueryCacheDbParameterDefinition> constantToParameterMapper) { _parameterValues = new OeODataUriComparerParameterValues(constantToParameterMapper); _queryNodeComparer = new OeQueryNodeComparer(_parameterValues); }