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; }