public Task BindModelAsync(ModelBindingContext bindingContext) { if (bindingContext == null) { throw new ArgumentNullException(nameof(bindingContext)); } var valueProviderResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); if (valueProviderResult == ValueProviderResult.None) { bindingContext.Result = ModelBindingResult.Success(new OrderByQueryString <T>()); return(Task.CompletedTask); } var ssp = new OrderByQueryString <T>(valueProviderResult.First()); bindingContext.Result = ModelBindingResult.Success(ssp); return(Task.CompletedTask); }
public static IQueryable <T> OrderBy <T>(this IQueryable <T> query, OrderByQueryString <T> queryDescription) { return(queryDescription.Query(query)); }