public IActionResult UrlDatasource([FromBody] DataManagerRequest dm) { EFDataContext db = new EFDataContext(); IQueryable <Customers> DataSource = db.customers; QueryableOperation operation = new QueryableOperation(); if (dm.Search != null && dm.Search.Count > 0) { DataSource = operation.PerformSearching(DataSource, dm.Search); //Search } if (dm.Sorted != null && dm.Sorted.Count > 0) //Sorting { DataSource = operation.PerformSorting(DataSource, dm.Sorted); } if (dm.Where != null && dm.Where.Count > 0) //Filtering { DataSource = operation.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator); } int count = DataSource.Count(); if (dm.Skip != 0) { DataSource = operation.PerformSkip(DataSource, dm.Skip); //Paging } if (dm.Take != 0) { DataSource = operation.PerformTake(DataSource, dm.Take); } return(dm.RequiresCounts ? Json(new { result = DataSource, count = count }) : Json(DataSource)); }
public static IEnumerable <T> PerformSearching <T>( IEnumerable <T> dataSource, List <SearchFilter> searchFilter) { return((IEnumerable <T>)QueryableOperation.PerformSearching <T>(dataSource.AsQueryable <T>(), searchFilter)); }
public static IQueryable <T> PerformSearching <T>( IQueryable <T> dataSource, List <SearchFilter> searchFilter) { return(QueryableOperation.PerformSearching <T>(dataSource, searchFilter)); }