USP_UIWIDGETCATALOG_CREATEORUPDATE

Creates or updates a UI widget definition.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@CONTEXTRECORDTYPE nvarchar(255) IN
@UIWIDGETSPECXML xml IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_UIWIDGETCATALOG_CREATEORUPDATE(
        @ID uniqueidentifier,
        @NAME nvarchar(100),
        @DESCRIPTION nvarchar(255),
        @CONTEXTRECORDTYPE nvarchar(255) = null,
        @UIWIDGETSPECXML xml,                
        @CHANGEAGENTID uniqueidentifier = null
    ) 
as
begin
    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    declare @CONTEXTRECORDTYPEID uniqueidentifier;

    if len(@CONTEXTRECORDTYPE) > 0
    begin
        exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME = @CONTEXTRECORDTYPE, @CHANGEAGENTID = @CHANGEAGENTID, @RECORDTYPEID = @CONTEXTRECORDTYPEID output;
    end;

    if @ID is null or @ID = '00000000-0000-0000-0000-000000000000'
    begin
        set @ID = newid();
    end;

    if exists(select ID from dbo.UIWIDGETCATALOG where ID = @ID
    begin
        update dbo.UIWIDGETCATALOG set
            ID = @ID,
            NAME = @NAME,
            DESCRIPTION = @DESCRIPTION,
            CONTEXTRECORDTYPEID = @CONTEXTRECORDTYPEID,
            UIWIDGETSPECXML = @UIWIDGETSPECXML,
            CHANGEDBYID = @CHANGEAGENTID
        where dbo.UIWIDGETCATALOG.ID = @ID;
    end
    else
    begin
        insert into dbo.UIWIDGETCATALOG
        (
            ID,
            NAME,
            DESCRIPTION,
            CONTEXTRECORDTYPEID,
            UIWIDGETSPECXML,
            ADDEDBYID,
            CHANGEDBYID
        )
        values
        (
            @ID,
            @NAME,
            @DESCRIPTION,
            @CONTEXTRECORDTYPEID,
            @UIWIDGETSPECXML,
            @CHANGEAGENTID,
            @CHANGEAGENTID
        )
    end;

end;