Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
        }