public override DbQuery <T> FromClientQuery(IClientQuery clientQuery) { var pageable = clientQuery as IClientPageable; if (pageable != null) { var page = pageable.ClientPage; if (page.PageNumber.HasValue && page.PageNumber.Value < 1) { throw new ArgumentOutOfRangeException("pageNumber", page.PageNumber.Value, "Page number should be greater than 1."); } if (page.PageNumber.HasValue) { PageNumber = page.PageNumber.Value; } if (page.PageSize.HasValue && page.PageSize.Value < 1) { throw new ArgumentOutOfRangeException("pageSize", page.PageSize.Value, "Page size should be greater than 1."); } if (page.PageSize.HasValue) { PageSize = page.PageSize.Value; } } return(base.FromClientQuery(clientQuery)); }
public static DbQuery <T> ToDbQuery <T>(this IClientQuery clientQuery) where T : class { if (clientQuery == null) { throw new ArgumentNullException("clientQuery"); } var pageable = clientQuery as IClientPageable; return(pageable != null ? DbQuery.PagedFor <T>().FromClientQuery(clientQuery) : DbQuery.For <T>().FromClientQuery(clientQuery)); }
public virtual DbQuery <T> FromClientQuery(IClientQuery clientQuery) { if (clientQuery == null) { throw new ArgumentNullException("clientQuery"); } var filterable = clientQuery as IClientFilterable; var sortable = clientQuery as IClientSortable; if (filterable != null) { _filter = filterable.ClientFilter ?? new AlwaysTrueFilter(); } if (sortable != null) { _sort = sortable.ClientSort ?? new RandomSort(); } return(this); }