spAddUpdate_SitePages

Parameters

Parameter Parameter Type Mode Description
@PKID int INOUT
@CurrentUsersID int IN
@ClientSitesID int IN
@PageName nvarchar(255) IN
@TemplateID int IN
@Guid uniqueidentifier IN
@TemplatePageID int IN
@IsTemplatePage bit IN
@Category nvarchar(256) IN
@DisplayName nvarchar(255) IN
@FolderId int IN
@StyleSheetId int IN
@Description nvarchar(max) IN
@Keywords nvarchar(max) IN
@UseTemplateKeywords bit IN
@IsPageModel bit IN
@FromPageModelId int IN
@IsThemed bit IN
@ThemeLayoutNumber int IN
@URL nvarchar(255) IN

Definition

Copy

CREATE procedure[dbo].[spAddUpdate_SitePages]
(
    @PKID        int output,
    @CurrentUsersID    int,
    @ClientSitesID    int,
    @PageName    nvarchar(255),
    @TemplateID    int,
    @Guid    uniqueidentifier,
    @TemplatePageID    int,
    @IsTemplatePage    bit,
    @Category    nvarchar(256),
    @DisplayName    nvarchar(255),
    @FolderId    int,
    @StyleSheetId     int,
    @Description nvarchar(max),
    @Keywords nvarchar(max),
    @UseTemplateKeywords bit,
    @IsPageModel bit,
    @FromPageModelId int,
    @IsThemed bit,
    @ThemeLayoutNumber int,
    @URL nvarchar(255) = null
)
as

    /**
    Pages and templates are stored in the same table.
    If data is for a page - set the TemplateID (which is the LayoutID)
    to -1  (its layoutid will be from the underlying template)
    Otherwise, if the data is for a template, the TemplateID will be
    the layoutID selected by the user for this template.
    **/
    declare @TemplateLayoutID int

    if @URL = ''
        set @URL = null

    if (@IsTemplatePage = 0)
    begin
        set @TemplateLayoutID = -1
    end
    else
    begin
        set @TemplateLayoutID = @TemplateID
    end

    if (@FromPageModelId <= 0)
    begin
        set @FromPageModelId = null
    end

    if (@PKID<=0)
    begin
        insert into [dbo].[SitePages]
        (
            ClientSitesID,
            PageName,
            TemplateID,
            Guid,
            OwnerID,
            TemplatePageID,
            IsTemplatePage,
            Category,
            DisplayName,
            FolderID,
            StyleSheetID,
            [Description],
            [Keywords],
            [UseTemplateKeywords],
            IsPageModel,
            FromModelId,
            IsThemed,
            ThemeLayoutNumber,
            URL
        )

        VALUES
        (
            @ClientSitesID,
            @PageName,
            @TemplateLayoutID,
            @Guid,
            @CurrentUsersID,
            @TemplatePageID,
            @IsTemplatePage,
            @Category,
            @DisplayName,
            @FolderId,
            @StyleSheetId,
            @Description,
            @Keywords,
            @UseTemplateKeywords,
            @IsPageModel,
            @FromPageModelId,
            @IsThemed,
            @ThemeLayoutNumber,
            @URL
        )

        select    @PKID = @@Identity

        exec spAuditThis @CurrentUsersID, 1, @Guid, 2
    end
    else
    begin
        update [dbo].[SitePages] 
        set
            ClientSitesID = @ClientSitesID,
            PageName = @PageName,
            TemplateID = @TemplateLayoutID,
            [Guid] = @Guid,
            TemplatePageID = @TemplatePageID,
            IsTemplatePage = @IsTemplatePage,
            Category = @Category,
            DisplayName = @DisplayName,
            FolderID = @FolderId,
            StyleSheetID = @StyleSheetId,
            [Description] = @Description,
            [Keywords] = @Keywords,
            [UpdateDate] = GETUTCDATE(),
            [UseTemplateKeywords] = @UseTemplateKeywords,
            IsPageModel = @IsPageModel,
            FromModelId = @FromPageModelId,
            IsThemed = @IsThemed,
            ThemeLayoutNumber = @ThemeLayoutNumber,
            URL = @URL
        where ID=@PKID

        exec spAuditThis @CurrentUsersID, 2, @Guid, 2
    end