USP_DATAFORMEXTENSION_CREATEORUPDATE

Creates or updates the given data form extension

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATAFORMINSTANCEID uniqueidentifier IN
@SEQUENCE int IN
@ENABLED bit IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure [dbo].[USP_DATAFORMEXTENSION_CREATEORUPDATE]
    @ID uniqueidentifier, 
    @DATAFORMINSTANCEID uniqueidentifier,
    @SEQUENCE int = 0,
    @ENABLED bit = 1,
    @CHANGEAGENTID uniqueidentifier = null
as

set nocount on

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

if (@SEQUENCE = 0) or (@SEQUENCE is null)
    select @SEQUENCE = coalesce(max(SEQUENCE), -1) + 1 from dbo.DATAFORMEXTENSION where DATAFORMINSTANCEID = @DATAFORMINSTANCEID

declare @date datetime
set @date = getDate()

declare @ExistingID uniqueidentifier
select @ExistingID = ID from dbo.DATAFORMEXTENSION where ID = @ID

if @ExistingID is null 
    begin        
        insert into dbo.DATAFORMEXTENSION 
        (ID, DATAFORMINSTANCEID, SEQUENCE, ENABLED, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values 
        (@ID, @DATAFORMINSTANCEID, @SEQUENCE, @ENABLED, @ChangeAgentID, @ChangeAgentID, @date, @date)
    end

else
    update dbo.DATAFORMEXTENSION
        set DATAFORMINSTANCEID = @DATAFORMINSTANCEID,
            SEQUENCE = @SEQUENCE,
            ENABLED = @ENABLED,
            CHANGEDBYID=@CHANGEAGENTID,
            DATECHANGED=@date
        where ID = @ExistingID;

if @@rowcount=0 return 1;

return 0;