本文整理汇总了C#中Rock.Model.GroupService.GetNavigationChildren方法的典型用法代码示例。如果您正苦于以下问题:C# GroupService.GetNavigationChildren方法的具体用法?C# GroupService.GetNavigationChildren怎么用?C# GroupService.GetNavigationChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.GroupService
的用法示例。
在下文中一共展示了GroupService.GetNavigationChildren方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetChildren
public IQueryable<TreeViewItem> GetChildren( int id, int rootGroupId, bool limitToSecurityRoleGroups, string groupTypeIds )
{
var user = CurrentUser();
if ( user != null )
{
var groupService = new GroupService();
groupService.Repository.SetConfigurationValue( "ProxyCreationEnabled", "false" );
var qry = groupService.GetNavigationChildren( id, rootGroupId, limitToSecurityRoleGroups, groupTypeIds );
List<Group> groupList = new List<Group>();
List<TreeViewItem> groupNameList = new List<TreeViewItem>();
foreach ( var group in qry )
{
if ( group.IsAuthorized( "View", user.Person ) )
{
groupList.Add( group );
var treeViewItem = new TreeViewItem();
treeViewItem.Id = group.Id.ToString();
treeViewItem.Name = System.Web.HttpUtility.HtmlEncode( group.Name );
// if there a IconCssClass is assigned, use that as the Icon.
var groupType = Rock.Web.Cache.GroupTypeCache.Read( group.GroupTypeId );
if ( groupType != null )
{
treeViewItem.IconCssClass = groupType.IconCssClass;
}
groupNameList.Add( treeViewItem );
}
}
// try to quickly figure out which items have Children
List<int> resultIds = groupList.Select( a => a.Id ).ToList();
var qryHasChildren = from x in Get().Select( a => a.ParentGroupId )
where resultIds.Contains( x.Value )
select x.Value;
var qryHasChildrenList = qryHasChildren.ToList();
foreach ( var g in groupNameList )
{
int groupId = int.Parse( g.Id );
g.HasChildren = qryHasChildrenList.Any( a => a == groupId );
}
return groupNameList.AsQueryable();
}
else
{
throw new HttpResponseException( HttpStatusCode.Unauthorized );
}
}
示例2: FindFirstGroup
/// <summary>
/// Finds the first group.
/// </summary>
/// <returns></returns>
private Group FindFirstGroup()
{
// limit GroupType selection to what Block Attributes allow
List<Guid> groupTypeGuids = GetAttributeValue( "GroupTypes" ).SplitDelimitedValues().Select( Guid.Parse ).ToList();
string groupTypeIds = "0";
if ( groupTypeGuids.Any() )
{
var groupTypeIdList = new List<int>();
foreach ( Guid guid in groupTypeGuids )
{
var groupType = GroupTypeCache.Read( guid );
if ( groupType != null )
{
groupTypeIdList.Add( groupType.Id );
}
}
groupTypeIds = groupTypeIdList.AsDelimited( "," );
groupTypeIds = string.IsNullOrWhiteSpace( groupTypeIds ) ? "0" : groupTypeIds;
}
var groupService = new GroupService( new RockContext() );
var qry = groupService.GetNavigationChildren( 0, hfRootGroupId.ValueAsInt(), hfLimitToSecurityRoleGroups.Value.AsBoolean(), groupTypeIds );
foreach ( var group in qry.OrderBy( g => g.Name ) )
{
// return first group they are authorized to view
if ( group.IsAuthorized( Authorization.VIEW, CurrentPerson ) )
{
return group;
}
}
return null;
}
示例3: FindFirstGroup
/// <summary>
/// Finds the first group.
/// </summary>
/// <returns></returns>
private Group FindFirstGroup()
{
var groupService = new GroupService( new RockContext() );
var includedGroupTypeIds = hfGroupTypesInclude.Value.SplitDelimitedValues().AsIntegerList().Except( new List<int> { 0 } ).ToList();
var excludedGroupTypeIds = hfGroupTypesExclude.Value.SplitDelimitedValues().AsIntegerList().Except( new List<int> { 0 } ).ToList();
var qry = groupService.GetNavigationChildren( 0, hfRootGroupId.ValueAsInt(), hfLimitToSecurityRoleGroups.Value.AsBoolean(), includedGroupTypeIds, excludedGroupTypeIds );
foreach ( var group in qry.OrderBy( g => g.Name ) )
{
// return first group they are authorized to view
if ( group.IsAuthorized( Authorization.VIEW, CurrentPerson ) )
{
return group;
}
}
return null;
}
示例4: FindFirstGroup
private Group FindFirstGroup()
{
var groupService = new GroupService();
var qry = groupService.GetNavigationChildren( 0, hfRootGroupId.ValueAsInt(), hfLimitToSecurityRoleGroups.Value.AsBoolean(), hfGroupTypes.Value );
foreach ( var group in qry )
{
if ( group.IsAuthorized( "View", CurrentPerson ) )
{
return group;
}
}
return null;
}