USP_USERSETTINGSLISTBUILDER_CREATEORUPDATE

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@PATH nvarchar(4000) IN
@LISTBUILDERSETTINGS xml IN
@CONTEXTRECORDID nvarchar(100) IN
@CONTEXTRECORDTYPEID uniqueidentifier IN

Definition

Copy


        CREATE procedure dbo.USP_USERSETTINGSLISTBUILDER_CREATEORUPDATE
        (
            @APPUSERID uniqueidentifier,
            @PATH nvarchar(4000),
            @LISTBUILDERSETTINGS xml,
            @CONTEXTRECORDID nvarchar(100) = '',
            @CONTEXTRECORDTYPEID uniqueidentifier = null
        )
        as
        begin

            declare @EXISTINGID uniqueidentifier;

            if (@CONTEXTRECORDID is null)
                set @CONTEXTRECORDID = '';

            if (@CONTEXTRECORDTYPEID = '00000000-0000-0000-0000-000000000000')
                set @CONTEXTRECORDTYPEID = null;

            if (@CONTEXTRECORDTYPEID is null and len(@CONTEXTRECORDID) = 0)
                select @EXISTINGID = ID from dbo.USERSETTINGSLISTBUILDER where APPUSERID = @APPUSERID and [PATH] = @PATH and CONTEXTRECORDID = '' and CONTEXTRECORDTYPEID is null;
            else
                select @EXISTINGID = ID from dbo.USERSETTINGSLISTBUILDER where APPUSERID = @APPUSERID and [PATH] = @PATH and CONTEXTRECORDID = @CONTEXTRECORDID and CONTEXTRECORDTYPEID = @CONTEXTRECORDTYPEID;

            if @EXISTINGID is null
            begin

                insert into dbo.USERSETTINGSLISTBUILDER (
                    APPUSERID,
                    [PATH],
                    LISTBUILDERSETTINGS,
                    CONTEXTRECORDID,
                    CONTEXTRECORDTYPEID
                ) values (
                    @APPUSERID,
                    @PATH,
                    @LISTBUILDERSETTINGS,
                    @CONTEXTRECORDID,
                    @CONTEXTRECORDTYPEID
                );

            end
            else
            begin

                update dbo.USERSETTINGSLISTBUILDER set 
                    LISTBUILDERSETTINGS = @LISTBUILDERSETTINGS
                where ID = @EXISTINGID;

            end;

        end