fnGetMenuItems

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].[fnGetMenuItems]

    @UserID int
    @ClientsID int
    @ContentID int
    @IsAdmin bit 
)
returns @MenuItems table

    [Id] int,  
    [ParentId] int,  
    ContentID int
    Caption nvarchar(256), 
    Tooltip nvarchar(256), 
    SitePageID int
    PageTabID int
    URL nvarchar(2048), 
    Target nvarchar(256), 
    RightImgPad int
    TreeIndex nvarchar(256), 
    LinkType tinyint,
    PageGuid uniqueidentifier, 
    LoginContentCount int,
    IsActive bit,
    PageTitle nvarchar(256),
    CssClass nvarchar(100)
)
as
begin

    declare @temp table
    ( 
        [Id] int,  
        [ParentId] int,  
        ContentID int
        Caption nvarchar(256), 
        Tooltip nvarchar(256), 
        SitePageID int
        PageTabID int
        URL nvarchar(2048), 
        Target nvarchar(256), 
        RightImgPad int
        TreeIndex nvarchar(256),
        LinkType tinyint,
        PageGuid uniqueidentifier, 
        LoginContentCount int,
        IsActive bit,
        PageTitle nvarchar(256)    unique([SitePageID],[ID],[ContentID]),
        CssClass nvarchar(100)
    ) 

    insert into @temp 
    select   
        dbo.MenuItems.[Id], 
        dbo.MenuItems.ParentID, 
        dbo.MenuItems.ContentID, 
        dbo.MenuItems.Caption, 
        dbo.MenuItems.Tooltip, 
        dbo.MenuItems.SitePageID, 
        dbo.MenuItems.pageTabId, 
        dbo.MenuItems.URL, 
        dbo.MenuItems.Target, 
        dbo.MenuItems.RightImgPad, 
        dbo.MenuItems.Treeindex,
        dbo.MenuItems.LinkType, 
        NULL
        0 as LoginContentCount,
        dbo.MenuItems.IsActive,
        dbo.MenuItems.PageTitle,
        dbo.MenuItems.CssClass
    from dbo.MenuItems  
    where contentid=@contentID 

    update @temp 
    set [PageGuid] = sp.GUID
    from @temp t
    INNER JOIN dbo.SitePages sp ON sp.ID = t.SitePageID

    update @temp set LoginContentCount=1
    from @temp
    inner join (select * from [vwPageContent] vw where vw.contenttypesid=33) PC on PC.PageID = t.SitePageID    

    insert into @MenuItems ([Id], [ParentId], [ContentID], [Caption], [Tooltip], [SitePageID],[PageTabID], [URL], [Target], [RightImgPad], [TreeIndex], [LinkType], [PageGuid], [LoginContentCount], [IsActive], [PageTitle], [CssClass]) 
    select [Id], [ParentId], [ContentID], [Caption], [Tooltip], [SitePageID],[PageTabID], [URL], [Target], [RightImgPad], [TreeIndex], [LinkType], [PageGuid], [LoginContentCount], [IsActive], [PageTitle], [CssClass] 
    from @temp
    order by TreeIndex 

    return
end