コード例 #1
0
ファイル: ModuleHandlers.cs プロジェクト: sknabniai/karbase
        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);
        }