TR_SYSTEMROLEPERM_CODETABLE_AUDIT_DELETE

Trigger Definition

/* 
Generated by Blackbaud AppFx Platform
Date:  12/17/2008 2:07:54 AM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=1.7.1271.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE TRIGGER dbo.TR_SYSTEMROLEPERM_CODETABLE_AUDIT_DELETE ON dbo.SYSTEMROLEPERM_CODETABLE AFTER DELETE NOT FOR REPLICATION
AS 

declare @ChangeAgentID uniqueidentifier
declare @AuditKey uniqueidentifier
declare @AuditDate datetime

set nocount on

--peform the audit
if dbo.UFN_AUDITENABLED('SYSTEMROLEPERM_CODETABLE') = 1
	begin
	
		-- the audit key is used to associate the rows in the audit table with a single atomic deletion/modification
		-- for a delete, 
		set @AuditKey = NewID()
		set @AuditDate = GetDate()

		--Get the change agent from the CONTEXT_INFO.  If an application wishes to mark a row as deleted by a non-default changeagent then it will have to update the auditrow after the delete using the ID field (where AUDITTYPECODE=2)
		exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENTFROMCONTEXT @ChangeAgentID output

		INSERT INTO dbo.SYSTEMROLEPERM_CODETABLEAUDIT(
			AUDITRECORDID, 
			AUDITKEY,
			AUDITCHANGEAGENTID,
			AUDITDATE, 
			AUDITTYPECODE,
			[SYSTEMROLEID],
			[CODETABLECATALOGID],
			[ADDPERMISSIONCODE],
			[UPDATEPERMISSIONCODE],
			[DELETEPERMISSIONCODE],
			[ADDEDBYID],
			[CHANGEDBYID],
			[DATEADDED],
			[DATECHANGED]
		) 
		SELECT 
			ID,
			@AuditKey,
			@ChangeAgentID,
			@AuditDate,
			2, --Before DELETE
			[SYSTEMROLEID],
			[CODETABLECATALOGID],
			[ADDPERMISSIONCODE],
			[UPDATEPERMISSIONCODE],
			[DELETEPERMISSIONCODE],
			[ADDEDBYID],
			[CHANGEDBYID],
			[DATEADDED],
			[DATECHANGED]

		FROM DELETED

		
	end