USP_CMSEVERYONESECURITYPRIVS_BULK_ADD

The save procedure used by the add dataform template "CMS Everyone Security Privilege Bulk Add".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SECUREDOBJECTGUID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@SECUREDOBJECTTYPEID int IN Secured Object Type ID
@XMLDATA xml IN XML Data

Definition

Copy


                    CREATE procedure dbo.USP_CMSEVERYONESECURITYPRIVS_BULK_ADD
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,    
    @SECUREDOBJECTGUID uniqueidentifier,
    @SECUREDOBJECTTYPEID integer,
    @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.CMSEVERYONESECURITYPRIVS where SECUREDOBJECTGUID = @SECUREDOBJECTGUID

    insert into dbo.CMSEVERYONESECURITYPRIVS ([SECUREDOBJECTGUID],[SECUREDOBJECTTYPEID],[OBJECTTASKID],[VALUE],ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    select 
    @SECUREDOBJECTGUID,
    @SECUREDOBJECTTYPEID,
    TSKC.TSK.value('@ID', 'uniqueidentifier'),
    TSKC.TSK.value('@value', 'bit'),
    @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
    from @XMLDATA.nodes('/tasksCollection/task') TSKC(TSK)
    commit

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0