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> PerformTake <T>(IEnumerable <T> dataSource, int take) => (IEnumerable <T>)QueryableOperation.PerformTake <T>(dataSource.AsQueryable <T>(), take);
public static IQueryable <T> PerformTake <T>(IQueryable <T> dataSource, int take) => QueryableOperation.PerformTake <T>(dataSource, take);