public List <GroupAndLeaderInfo> GetGeofencingGroups(int personId, Guid groupTypeGuid) { var rockContext = (Rock.Data.RockContext)Service.Context; var groupMemberService = new GroupMemberService(rockContext); var groups = new GroupService(rockContext).GetGeofencingGroups(personId, groupTypeGuid).AsNoTracking(); var result = new List <GroupAndLeaderInfo>(); foreach (var group in groups.OrderBy(g => g.Name)) { var info = new GroupAndLeaderInfo(); info.GroupName = group.Name.Trim(); info.LeaderNames = groupMemberService .Queryable().AsNoTracking() .Where(m => m.GroupId == group.Id && m.GroupRole.IsLeader) .Select(m => m.Person.NickName + " " + m.Person.LastName) .ToList() .AsDelimited(", "); result.Add(info); } return(result); }
public List<GroupAndLeaderInfo> GetGeofencingGroups( int personId, Guid groupTypeGuid ) { var rockContext = (Rock.Data.RockContext)Service.Context; var groupMemberService = new GroupMemberService( rockContext ); var groups = new GroupService( rockContext ).GetGeofencingGroups( personId, groupTypeGuid ).AsNoTracking(); var result = new List<GroupAndLeaderInfo>(); foreach ( var group in groups.OrderBy( g => g.Name ) ) { var info = new GroupAndLeaderInfo(); info.GroupName = group.Name.Trim(); info.LeaderNames = groupMemberService .Queryable().AsNoTracking() .Where( m => m.GroupId == group.Id && m.GroupRole.IsLeader ) .Select( m => m.Person.NickName + " " + m.Person.LastName ) .ToList() .AsDelimited(", "); result.Add(info); } return result; }