fnGetNavbarItems

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@UserID int IN
@ClientsID int IN
@ContentID int IN
@IsAdmin bit IN

Definition

Copy

CREATE FUNCTION [dbo].[fnGetNavbarItems]
(
    @UserID int,
    @ClientsID int,
    @ContentID int,
    @IsAdmin bit
)
RETURNS @NavBarItems TABLE
(
    [Id] int
    ContentID int,
    Caption nvarchar(50),
    URL nvarchar(1024),
    SitePageID int,
    DefaultSiteImageID int,
    ActiveSiteImageID int,
    HoverSiteImageID int,
    [Sequence] int,
    Guid uniqueidentifier,
    PageTabID int,
    Target nvarchar(255),
    AddQS nvarchar(25),
    DocumentID int
)
AS
Begin

    if (@IsAdmin=1)
    begin
        insert into @NavBarItems
        SELECT  dbo.NavBarItems.[Id],
            dbo.NavBarItems.ContentID,
            dbo.NavBarItems.Caption,
            dbo.NavBarItems.URL,
            dbo.NavBarItems.SitePageID,
            dbo.NavBarItems.DefaultSiteImageID,
            dbo.NavBarItems.ActiveSiteImageID,
            dbo.NavBarItems.HoverSiteImageID,
            dbo.NavBarItems.[Sequence],
            dbo.SitePages.Guid,
            dbo.NavBarItems.pageTabId,
            dbo.NavBarItems.Target,
            dbo.NavBarItems.AddQS,
            dbo.NavBarItems.DocumentID

        FROM         (dbo.NavBarItems LEFT JOIN
                            dbo.SitePages ON dbo.SitePages.ID = dbo.NavBarItems.SitePageID)
        where contentid=@contentID 
        order by sequence

    end
    else
    begin

        insert into @NavBarItems
        SELECT  dbo.NavBarItems.[Id],
            dbo.NavBarItems.ContentID,
            dbo.NavBarItems.Caption,
            dbo.NavBarItems.URL,
            dbo.NavBarItems.SitePageID,
            dbo.NavBarItems.DefaultSiteImageID,
            dbo.NavBarItems.ActiveSiteImageID,
            dbo.NavBarItems.HoverSiteImageID,
            dbo.NavBarItems.[Sequence],
            dbo.SitePages.Guid,
            dbo.NavBarItems.pageTabId,
            dbo.NavBarItems.Target,
            dbo.NavBarItems.AddQS,
            dbo.NavBarItems.DocumentID
        FROM dbo.NavBarItems
        LEFT JOIN dbo.SitePages ON dbo.SitePages.ID = dbo.NavBarItems.SitePageID            
        LEFT JOIN dbo.UFN_CLIENTUSERS_OBJECTSWITHTASKRIGHT(@UserID, 2, 0, '546AD356-A750-49B7-B612-67857C6F1A00')F  on F.ObjectGuid = dbo.SitePages.Guid                    
        where contentid=@contentID and (dbo.SitePages.ID is null or F.OBJECTGUID is not null)
        order by sequence

    end
return
end