private static IEnumerable <dynamic> FilterByPage <T>(Page page, IEnumerable <dynamic> source) { foreach (var item in page.filter) { if (item != null) { switch (item.Type) { case "Nullable": source = IEnumerableData.FilterNullable <T>(source, item.field, item.value); break; case "DateTime": case "Date": source = IEnumerableData.FilterDate <T>(source, item); break; default: source = IEnumerableData.Filter <T>(source, item.field, item.value); break; } } } return(source); }
private static IEnumerable <dynamic> SetOrdered <T>(Page page, IEnumerable <dynamic> source) { if (page.filter != null) { source = IEnumerableData.FilterByPage <T>(page, source); } if (page.SortBy != null) { source = IEnumerableData.OrderBy <T>(source, page.SortBy, page.IsDescending); } return(source); }