USP_DATAFORMTEMPLATE_ADD_CMSTEMPLATELAYOUTS_BULK

The save procedure used by the add dataform template "CMS Template Layouts Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@TEMPLATEID int IN Template ID
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@XMLDATA xml IN XML Data

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_ADD_CMSTEMPLATELAYOUTS_BULK
(
    @ID uniqueidentifier = null output,
    @TEMPLATEID int,
    @CHANGEAGENTID uniqueidentifier = null,
    @XMLDATA xml = null
)
as

set nocount on;

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

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

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

begin try

    begin transaction
        delete from dbo.CMSTEMPLATELAYOUT where TEMPLATEID = @TEMPLATEID;

        insert into dbo.CMSTEMPLATELAYOUT ([TEMPLATEID],[CMSDELIVERYCHANNELID],[SITELAYOUTSID],[ADDEDBYID],[CHANGEDBYID],[DATEADDED],[DATECHANGED])
        select 
            @TEMPLATEID,
            CMSTEMPLATELAYOUTS.CMSDELIVERYCHANNEL.value('@ID', 'uniqueidentifier'),      
            CMSTEMPLATELAYOUTS.CMSDELIVERYCHANNEL.value('@SITELAYOUTSID', 'int'),
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            @CURRENTDATE,
            @CURRENTDATE
        from @XMLDATA.nodes('/CMSTEMPLATELAYOUTS/CMSDELIVERYCHANNEL') CMSTEMPLATELAYOUTS(CMSDELIVERYCHANNEL)
        where
            CMSTEMPLATELAYOUTS.CMSDELIVERYCHANNEL.value('@SITELAYOUTSID', 'int') > 0
    commit

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0