Example #1
0
 public TopProjectionSegment(int startIndex, int stopIndex, RowNumberValueSegment top, string @alias)
 {
     _startIndex = startIndex;
     _stopIndex  = stopIndex;
     _top        = top;
     _alias      = alias;
 }
Example #2
0
        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));
        }