USP_WEBDASHBOARDPAGE_COPY

Creates a copy of a web dashboard page.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NEWNAME nvarchar(200) IN
@NEWTITLE nvarchar(200) IN
@NEWFOLDERPATH nvarchar(1000) IN
@OWNERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_WEBDASHBOARDPAGE_COPY(@ID uniqueidentifier,
    @NEWNAME nvarchar(200),
    @NEWTITLE nvarchar(200),
    @NEWFOLDERPATH nvarchar(1000),
    @OWNERID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier)
as
    set nocount on;

    declare @WEBDASHBOARDFOLDERID uniqueidentifier;

    select @WEBDASHBOARDFOLDERID = ID from dbo.WEBDASHBOARDFOLDER where PATH = @NEWFOLDERPATH;

    declare @NEWID uniqueidentifier;

    set @NEWID = newid();

    --Copy the page itself.

    insert into dbo.WEBDASHBOARDPAGECATALOG (ID,
        NAME,
        TITLE,
        DESCRIPTION,
        WEBDASHBOARDLAYOUTID,
        OWNERID,
        WEBDASHBOARDFOLDERID,
        CONTEXTRECORDTYPEID,
        CONTEXTRECORDSEARCHLISTCATALOGID,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED)
    select @NEWID,
        @NEWNAME,
        @NEWTITLE,
        DESCRIPTION,
        WEBDASHBOARDLAYOUTID,
        @OWNERID,
        @WEBDASHBOARDFOLDERID,
        CONTEXTRECORDTYPEID,
        CONTEXTRECORDSEARCHLISTCATALOGID,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        getdate(),
        getdate() 
    from dbo.WEBDASHBOARDPAGECATALOG
    where ID = @ID;

    --Copy the personalization data.

    insert into dbo.WEBDASHBOARDPERSONALIZATIONPERUSER (WEBDASHBOARDPAGEID,
        APPUSERID,
        PAGESETTINGS,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED)
    select @NEWID,
        APPUSERID,
        PAGESETTINGS,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        getdate(),
        getdate() 
    from dbo.WEBDASHBOARDPERSONALIZATIONPERUSER
    where WEBDASHBOARDPAGEID = @ID;

    insert into dbo.WEBDASHBOARDPERSONALIZATIONALLUSERS (WEBDASHBOARDPAGEID,
        PAGESETTINGS,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED)
    select @NEWID,
        PAGESETTINGS,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        getdate(),
        getdate() 
    from dbo.WEBDASHBOARDPERSONALIZATIONALLUSERS
    where WEBDASHBOARDPAGEID = @ID;