Example #1
0
        /// <summary>
        /// Gets the tags.
        /// </summary>
        /// <returns></returns>
        private IQueryable <Tag> GetTags()
        {
            int?entityTypeId = rFilter.GetUserPreference("EntityType").AsInteger(false);

            if (entityTypeId.HasValue)
            {
                var queryable = new Rock.Model.TagService().Queryable().
                                Where(t => t.EntityTypeId == entityTypeId.Value);

                if (rFilter.GetUserPreference("Scope") == "Public")
                {
                    // Only allow sorting of public tags if authorized to Administer
                    rGrid.Columns[0].Visible = _canConfigure;
                    queryable = queryable.Where(t => t.OwnerId == null);
                }
                else
                {
                    int?personId = rFilter.GetUserPreference("Owner").AsInteger(false);
                    if (_canConfigure && personId.HasValue)
                    {
                        queryable = queryable.Where(t => t.OwnerId == personId.Value);
                    }
                    else
                    {
                        queryable = queryable.Where(t => t.OwnerId == CurrentPersonId);
                    }
                }

                return(queryable.OrderBy(t => t.Order));
            }

            return(null);
        }
        /// <summary>
        /// Gets the tags.
        /// </summary>
        /// <returns></returns>
        private IQueryable<Tag> GetTags()
        {
            int? entityTypeId = rFilter.GetUserPreference( "EntityType" ).AsInteger( false );
            if ( entityTypeId.HasValue )
            {
                var queryable = new Rock.Model.TagService( new RockContext() ).Queryable().
                    Where( t => t.EntityTypeId == entityTypeId.Value );

                if ( rFilter.GetUserPreference( "Scope" ) == "Organization" )
                {
                    // Only allow sorting of public tags if authorized to Administer
                    rGrid.Columns[0].Visible = _canConfigure;
                    queryable = queryable.Where( t => !t.OwnerId.HasValue );
                }
                else
                {
                    int? personId = rFilter.GetUserPreference( "Owner" ).AsInteger( false );
                    if ( _canConfigure && personId.HasValue )
                    {
                        queryable = queryable.Where( t => t.OwnerId == personId.Value );
                    }
                    else
                    {
                        queryable = queryable.Where( t => t.OwnerId == CurrentPersonId );
                    }
                }

                return queryable.OrderBy( t => t.Order );

            }

            return null;
        }