本文整理汇总了C#中Rock.Model.AttributeService.GetGroupMemberAttributesCombined方法的典型用法代码示例。如果您正苦于以下问题:C# AttributeService.GetGroupMemberAttributesCombined方法的具体用法?C# AttributeService.GetGroupMemberAttributesCombined怎么用?C# AttributeService.GetGroupMemberAttributesCombined使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.AttributeService
的用法示例。
在下文中一共展示了AttributeService.GetGroupMemberAttributesCombined方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddOrUpdateGroupMemberAttributes
/// <summary>
/// Adds or update group member's attributes using any page parameters that are attributes of the group.
/// </summary>
/// <param name="person">The person.</param>
/// <param name="group">The group.</param>
/// <param name="rockContext">The rock context.</param>
private void AddOrUpdateGroupMemberAttributes( Person person, Group group, RockContext rockContext )
{
var groupMember = group.Members.Where( m => m.PersonId == person.Id ).FirstOrDefault();
AttributeService attributeService = new AttributeService( rockContext );
// Load all the group member attributes for comparison below.
var attributes = attributeService.GetGroupMemberAttributesCombined( group.Id, group.GroupTypeId );
// In order to add attributes to the person, you have to first load them all
groupMember.LoadAttributes( rockContext );
foreach ( var entry in PageParameters() )
{
// skip the parameter if the group's group type doesn't have that one
var attribute = attributes.Where( a => a.Key.Equals( entry.Key, StringComparison.OrdinalIgnoreCase ) ).FirstOrDefault();
if ( attribute == null )
{
continue;
}
//attribute.SetAttributeValue
groupMember.SetAttributeValue( entry.Key, (string) entry.Value );
}
groupMember.SaveAttributeValues( rockContext );
}