/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="skip"></param> /// <returns></returns> private Expression BindSkip(Expression source, Expression skip) { this.Visit(skip); // Use the ResultFilter (PagingFilter) as a default if (filter != null) { switch (filter.GetType().Name) { case "LimitFilter": filter = new tridion.PagingFilter((Int32)((ConstantExpression)skip).Value, ((tridion.LimitFilter)filter).ResultLimit); break; case "PagingFilter": filter = new tridion.PagingFilter((Int32)((ConstantExpression)skip).Value, ((tridion.PagingFilter)filter).ResultLimit); break; default: break; } } else { filter = new tridion.PagingFilter((Int32)((ConstantExpression)skip).Value, -1); } this.Visit(source); return(source); }
/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="take"></param> /// <returns></returns> private Expression BindTake(Expression source, Expression take) { this.Visit(take); // Use the ResultFilter (LimitFilter) as a default if (filter != null) { if (filter is tridion.PagingFilter) { filter = new tridion.PagingFilter(((tridion.PagingFilter)filter).FirstResult, (Int32)((ConstantExpression)take).Value); } } else { filter = new tridion.LimitFilter((Int32)((ConstantExpression)take).Value); } this.Visit(source); return(source); }
/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="take"></param> /// <returns></returns> private Expression BindTake(Expression source, Expression take) { this.Visit(take); // Use the ResultFilter (LimitFilter) as a default if (filter != null) { if (filter is tridion.PagingFilter) { filter = new tridion.PagingFilter(((tridion.PagingFilter)filter).FirstResult, (Int32)((ConstantExpression)take).Value); } } else { filter = new tridion.LimitFilter((Int32)((ConstantExpression)take).Value); } this.Visit(source); return source; }
/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="skip"></param> /// <returns></returns> private Expression BindSkip(Expression source, Expression skip) { this.Visit(skip); // Use the ResultFilter (PagingFilter) as a default if (filter != null) { switch (filter.GetType().Name) { case "LimitFilter": filter = new tridion.PagingFilter((Int32)((ConstantExpression)skip).Value, ((tridion.LimitFilter)filter).ResultLimit); break; case "PagingFilter": filter = new tridion.PagingFilter((Int32)((ConstantExpression)skip).Value, ((tridion.PagingFilter)filter).ResultLimit); break; default: break; } } else { filter = new tridion.PagingFilter((Int32)((ConstantExpression)skip).Value, -1); } this.Visit(source); return source; }