public virtual IQueryable <Sungero.Docflow.IStoragePolicyBase> StoragePolicyDataQuery(IQueryable <Sungero.Docflow.IStoragePolicyBase> query) { if (_filter == null) { return(query); } if (_filter.Active || _filter.Closed) { query = query.Where(r => _filter.Active && r.Status == Status.Active || _filter.Closed && r.Status == Status.Closed); } if (_filter.DocumentKind != null) { query = query.Where(r => !r.DocumentKinds.Any() || r.DocumentKinds.Any(u => Equals(u.DocumentKind, _filter.DocumentKind))); } if (_filter.StoragePolicy || _filter.RetentionPolicy) { query = query.Where(r => StoragePolicies.Is(r) && _filter.StoragePolicy || RetentionPolicies.Is(r) && _filter.RetentionPolicy); } return(query); }