Exemple #1
0
        private IEnumerable<Category> GetUnorderedCategories( RockContext rockContext = null )
        {
            rockContext = rockContext ?? new RockContext();

            var queryable = new CategoryService( rockContext )
                .Queryable();

            if ( _hasEntityTypeBlockSetting )
            {
                queryable = queryable.Where(c => c.EntityTypeId == _entityTypeId );
            }
            else
            {
                int? filterEntityTypeId = entityTypeFilter.SelectedValueAsInt();
                if ( filterEntityTypeId.HasValue )
                {
                    queryable = queryable.Where( c => c.EntityTypeId == filterEntityTypeId.Value );
                }
            }

            var queryableFiltered = queryable.ToList()
                .Where( c =>
                    ( c.EntityTypeQualifierColumn ?? "" ) == ( _entityCol ?? "" ) &&
                    ( c.EntityTypeQualifierValue ?? "" ) == ( _entityVal ?? "" ) );

            if (_parentCategoryId.HasValue)
            {
                queryableFiltered = queryableFiltered.Where( c => c.ParentCategoryId == _parentCategoryId );
            }
            else
            {
                queryableFiltered = queryableFiltered.Where( c => c.ParentCategoryId == null );
            }

            return queryableFiltered;
        }