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()); }
/// <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)); }