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;
        }
Example #3
0
        /// <summary>
        /// Populates the tag list.
        /// </summary>
        private void PopulateTagList()
        {
            int entityTypePersonId = EntityTypeCache.GetId( typeof( Rock.Model.Person ) ) ?? 0;
            var tagQry = new TagService( new RockContext() ).Queryable( "OwnerPersonAlias" ).Where( a => a.EntityTypeId == entityTypePersonId );
            RockPage rockPage = _rblTagType.Page as RockPage;

            if ( _rblTagType.SelectedValueAsInt() == 1 )
            {
                // Personal tags - tags where the ownerid is the current person id
                tagQry = tagQry.Where( a => a.OwnerPersonAlias.PersonId == rockPage.CurrentPersonId ).OrderBy( a => a.Name );
            }
            else
            {
                // Organizational tags - tags where the ownerid is null
                tagQry = tagQry.Where( a => a.OwnerPersonAlias == null ).OrderBy( a => a.Name );
            }

            _ddlTagList.Items.Clear();
            var tempTagList = tagQry.ToList();

            foreach ( var tag in tagQry.Select( a => new { a.Guid, a.Name } ) )
            {
                _ddlTagList.Items.Add( new ListItem( tag.Name, tag.Guid.ToString() ) );
            }
        }