本文整理汇总了C#中Rock.Model.GroupService.GetByPublicKey方法的典型用法代码示例。如果您正苦于以下问题:C# GroupService.GetByPublicKey方法的具体用法?C# GroupService.GetByPublicKey怎么用?C# GroupService.GetByPublicKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.GroupService
的用法示例。
在下文中一共展示了GroupService.GetByPublicKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadDropDowns
/// <summary>
/// Loads the groups.
/// </summary>
private void LoadDropDowns()
{
var parts = ( GetAttributeValue( "GroupFilter" ) ?? string.Empty ).Split( '|' );
Guid? groupTypeGuid = null;
Guid? rootGroupGuid = null;
if ( parts.Length >= 1 )
{
groupTypeGuid = parts[0].AsGuidOrNull();
if ( parts.Length >= 2 )
{
rootGroupGuid = parts[1].AsGuidOrNull();
}
}
var groupService = new GroupService( new RockContext() );
string defaultGroupPublicKey = string.Empty;
var contextCookie = Request.Cookies["Rock:context"];
if ( contextCookie != null )
{
var cookieValue = contextCookie.Values[typeof( Rock.Model.Group ).FullName];
string contextItem = Rock.Security.Encryption.DecryptString( cookieValue );
string[] contextItemParts = contextItem.Split( '|' );
if ( contextItemParts.Length == 2 )
{
defaultGroupPublicKey = contextItemParts[1];
}
}
var defaultGroup = groupService.GetByPublicKey( defaultGroupPublicKey );
IQueryable<Group> qryGroups = null;
// if rootGroup is set, use that as the filter. Otherwise, use GroupType as the filter
if ( rootGroupGuid.HasValue )
{
var rootGroup = groupService.Get( rootGroupGuid.Value );
if ( rootGroup != null )
{
qryGroups = groupService.GetAllDescendents( rootGroup.Id ).AsQueryable();
}
}
else if ( groupTypeGuid.HasValue )
{
qryGroups = groupService.Queryable().Where( a => a.GroupType.Guid == groupTypeGuid.Value );
}
if ( qryGroups == null )
{
nbSelectGroupTypeWarning.Visible = true;
ddlGroup.Visible = false;
}
else
{
nbSelectGroupTypeWarning.Visible = false;
ddlGroup.Visible = true;
ddlGroup.Items.Clear();
var groups = qryGroups.OrderBy( a => a.Order ).ThenBy( a => a.Name ).ToList();
foreach ( var group in groups )
{
var listItem = new ListItem( group.Name, HttpUtility.UrlDecode( group.ContextKey ) );
if ( defaultGroup != null )
{
listItem.Selected = group.Guid == defaultGroup.Guid;
}
ddlGroup.Items.Add( listItem );
}
}
}