spUserPagesForUserId

Parameters

Parameter Parameter Type Mode Description
@ClientUserID int IN
@RealmType int IN

Definition

Copy

CREATE PROCEDURE [dbo].[spUserPagesForUserId] (@ClientUserID INT, @RealmType INT = -1) AS
SET NOCOUNT ON

    DECLARE @Pages TABLE (
        ID INT,
        UserPageTemplateID INT,
        ClientUserID INT,
        DisplayName NVARCHAR(100),
        IsPublished BIT,
        RealmContextID INT,
        RealmType INT,
        UserPageManagerID INT,
        SitePageID INT,
        RealmContextName NVARCHAR(100)
    )

    INSERT INTO @Pages
    SELECT DISTINCT
        up.ID, 
        up.UserPageTemplateId, 
        up.ClientUserId, 
        up.DisplayName, 
        up.IsPublished,
        up.RealmContextId,
        upt.RealmType,
        upt.UserPageManagerID,
        upt.SitePageID,
        ''
    FROM UserPages up 
        inner join UserPageManagerPageTemplates upt on up.UserPageTemplateId=upt.ID
        left join UserPagesEditors upe on up.ID = upe.UserPagesID
    WHERE (up.ClientUserId = @ClientUserID
        OR upe.ClientUsersID = @ClientUserID)
        AND (@RealmType = -1 OR upt.RealmType = @RealmType)
    ORDER BY DisplayName

    IF @RealmType = 7 --TeamPages

    BEGIN
        UPDATE @Pages
            --Sport - Division Gender

        SET RealmContextName = cte1.Description +
            (Case
                WHEN ((LEN(COALESCE(cte2.description, '')) + LEN(COALESCE(cte3.Description, ''))) > 0)
                    THEN ' -' + COALESCE(' ' + cte2.Description, '') + COALESCE(' ' + cte3.Description, '')
                ELSE
                    ''
             END)
        FROM @Pages
            LEFT JOIN dbo.ATHLETICS_TEAMS at 
                ON p.RealmContextId = at.ID
            LEFT JOIN dbo.SiteCodeTableEntries cte1
                ON at.Sport = cte1.EntryGUID
            LEFT JOIN dbo.SiteCodeTableEntries cte2
                ON at.Division = cte2.EntryGUID
            LEFT JOIN dbo.SiteCodeTableEntries cte3
                ON at.Gender = cte3.EntryGUID
    END

    SELECT * 
    FROM @Pages
    ORDER BY RealmContextName, RealmContextID, DisplayName