USP_WEBDASHBOARDPERSONALIZATIONALLUSERS_CREATEORUPDATE

Creates or updates the data for the shared version of a web dashboard page.

Parameters

Parameter Parameter Type Mode Description
@WEBDASHBOARDPAGENAME nvarchar(200) IN
@WEBDASHBOARDPATH nvarchar(1000) IN
@PAGESETTINGS varbinary IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_WEBDASHBOARDPERSONALIZATIONALLUSERS_CREATEORUPDATE(@WEBDASHBOARDPAGENAME nvarchar(200),
    @WEBDASHBOARDPATH nvarchar(1000),
    @PAGESETTINGS varbinary(max),
    @CHANGEAGENTID uniqueidentifier)
as
    set nocount on;

    if @CHANGEAGENTID is null
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    declare @WEBDASHBOARDPAGEID uniqueidentifier;
    declare @ID uniqueidentifier;

    select @WEBDASHBOARDPAGEID = WEBDASHBOARDPAGECATALOG.ID 
    from dbo.WEBDASHBOARDPAGECATALOG 
    left join dbo.WEBDASHBOARDFOLDER on WEBDASHBOARDPAGECATALOG.WEBDASHBOARDFOLDERID = WEBDASHBOARDFOLDER.ID
    where WEBDASHBOARDPAGECATALOG.NAME = @WEBDASHBOARDPAGENAME and ((@WEBDASHBOARDPATH = '' and WEBDASHBOARDPAGECATALOG.WEBDASHBOARDFOLDERID is null) or WEBDASHBOARDFOLDER.PATH = @WEBDASHBOARDPATH);

    if @WEBDASHBOARDPAGEID is null
    begin
        raiserror('The page does not exist, or it cannot be customized by the current user.', 16, 1);
        return;
    end;

    select @ID = ID 
    from dbo.WEBDASHBOARDPERSONALIZATIONALLUSERS
    where WEBDASHBOARDPAGEID = @WEBDASHBOARDPAGEID;

    if @ID is null
    begin
        set @ID = newid();

        insert into dbo.WEBDASHBOARDPERSONALIZATIONALLUSERS (ID,
            WEBDASHBOARDPAGEID, 
            PAGESETTINGS, 
            ADDEDBYID,
            CHANGEDBYID,
            DATEADDED,
            DATECHANGED)
        values (@ID
            @WEBDASHBOARDPAGEID,
            @PAGESETTINGS
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            getdate(),
            getdate());
    end
    else
    begin
        update dbo.WEBDASHBOARDPERSONALIZATIONALLUSERS set PAGESETTINGS = @PAGESETTINGS
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = getdate()
        where ID = @ID;
    end;