USP_USERSETTINGS_SHELLSETTINGS_CREATEORUPDATE

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@SHELLSETTINGSXML xml IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy

CREATE procedure dbo.USP_USERSETTINGS_SHELLSETTINGS_CREATEORUPDATE
    @APPUSERID uniqueidentifier,
    @SHELLSETTINGSXML xml,
    @CHANGEAGENTID uniqueidentifier = null
as

set nocount on

declare @existingID uniqueidentifier
select @existingID = ID from dbo.USERSETTINGS where APPUSERID = @APPUSERID

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

declare @date datetime
set @date = getdate()

if @existingID is null 

    begin
        declare @ID uniqueidentifier
        set @ID = NewID()

        insert into dbo.USERSETTINGS 
            (ID, APPUSERID, SHELLSETTINGS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values 
            (@ID, @APPUSERID, @SHELLSETTINGSXML, @CHANGEAGENTID, @CHANGEAGENTID, @date, @date)
    end

else

    update dbo.USERSETTINGS 
    set SHELLSETTINGS = @SHELLSETTINGSXML,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @date
    where ID = @existingID

RETURN 0;