public void TestValidConfiguration()
        {
            var options = new PaginationOptions {
                DefaultLimit = 100, MaxLimit = 1000
            };

            options.ThrowOnInvalidConfiguration();
        }
        public void TestInvalidConfiguration()
        {
            var options = new PaginationOptions {
                DefaultLimit = 10, MaxLimit = 1
            };

            Assert.Throws <InvalidOperationException>(() => options.ThrowOnInvalidConfiguration());
        }
示例#3
0
 /// <summary>
 /// Configure the pagination capabilities.
 /// <para>
 /// WARNING: Do not use this before FilterByClientRequest, SearchByClientRequest or
 /// OrderByClientRequest! This would result in erroneous pagination logic.
 /// </para>
 /// <para>Requires <see cref="HttpContextProviderAttribute"/> to be set.</para>
 /// </summary>
 /// <typeparam name="TSource">The type of the value.</typeparam>
 /// <param name="observable">The parent observable.</param>
 /// <param name="options">The pagination options.</param>
 /// <returns>An instance of <see cref="IProviderObservable{TSource}"/>.</returns>
 public static IProviderObservable <IQueryable <TSource> > ApplyPaginationByClientRequest <TSource>(
     this IProviderObservable <IQueryable <TSource> > observable,
     PaginationOptions options = null)
 {
     options?.ThrowOnInvalidConfiguration();
     return(new ApplyPaginationByClientRequestObservable <TSource>(
                options ?? new PaginationOptions(), observable));
 }