public TopProjectionSegment(int startIndex, int stopIndex, RowNumberValueSegment top, string @alias) { _startIndex = startIndex; _stopIndex = stopIndex; _top = top; _alias = alias; }
private PaginationContext CreatePaginationWithRowNumber(ICollection <PredicateSegment> rowNumberPredicates, ParameterContext parameterContext) { RowNumberValueSegment offset = null; RowNumberValueSegment rowCount = null; foreach (var rowNumberPredicate in rowNumberPredicates) { var expression = ((PredicateCompareRightValue)rowNumberPredicate.GetPredicateRightValue()).GetExpression(); switch (((PredicateCompareRightValue)rowNumberPredicate.GetPredicateRightValue()).GetOperator()) { case ">": offset = CreateRowNumberValueSegment(expression, false); break; case ">=": offset = CreateRowNumberValueSegment(expression, true); break; case "<": rowCount = CreateRowNumberValueSegment(expression, false); break; case "<=": rowCount = CreateRowNumberValueSegment(expression, true); break; default: break; } } return(new PaginationContext(offset, rowCount, parameterContext)); }