Rock.Model.GroupTypeService.GetAllCheckinGroupTypePaths C# (CSharp) Method

GetAllCheckinGroupTypePaths() public method

Gets all checkin group type paths.
public GetAllCheckinGroupTypePaths ( ) : IEnumerable
return IEnumerable
        public IEnumerable<GroupTypePath> GetAllCheckinGroupTypePaths()
        {
            List<GroupTypePath> result = new List<GroupTypePath>();

            GroupTypeService groupTypeService = this;

            var qry = groupTypeService.Queryable();

            // limit to show only GroupTypes that have a group type purpose of Checkin Template
            int groupTypePurposeCheckInTemplateId = Rock.Web.Cache.DefinedValueCache.Read( new Guid( Rock.SystemGuid.DefinedValue.GROUPTYPE_PURPOSE_CHECKIN_TEMPLATE ) ).Id;
            qry = qry.Where( a => a.GroupTypePurposeValueId == groupTypePurposeCheckInTemplateId );

            foreach ( var groupTypeId in qry.Select( a => a.Id ) )
            {

                result.AddRange( groupTypeService.GetAllAssociatedDescendentsPath( groupTypeId ) );
            }

            return result;
        }