public static IQueryable <T> ApplyFiltersByMetadata(IQueryable <T> source, ODataMetadata oDataMetadata, ODataExpression oDataExpression, MetadataBase metadata) { KeyValuePair <FilterBase, List <LogicalFilter> > guideFilters = oDataMetadata.GetFiltersByMetadata(oDataExpression, metadata); return(guideFilters.Key != null? source.Where(BuildFiltersExp(metadata, guideFilters.Key, guideFilters.Value)) : source); }
public static List <TJoinProperty> ApplyFiltersAndSelect <TJoinProperty>(IQueryable <T> source, ODataMetadata oDataMetadata, ODataExpression oDataExpression, MetadataBase metadata, string propertyName) { IQueryable <T> queryWithFilters = ApplyFiltersByMetadata(source, oDataMetadata, oDataExpression, metadata); return(SelectPropertyValues <TJoinProperty>(queryWithFilters, propertyName).ToList()); }