TR_DESIGNATION_AUDIT_DELETE

Trigger Definition

/* 
Generated by Blackbaud AppFx Platform
Date:  3/7/2017 5:41:47 PM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.104.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE TRIGGER dbo.TR_DESIGNATION_AUDIT_DELETE ON dbo.DESIGNATION 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('DESIGNATION') = 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.DESIGNATIONAUDIT(
			AUDITRECORDID, 
			AUDITKEY,
			AUDITCHANGEAGENTID,
			AUDITDATE, 
			AUDITTYPECODE,
			[DESIGNATIONLEVEL1ID],
			[DESIGNATIONLEVEL2ID],
			[DESIGNATIONLEVEL3ID],
			[DESIGNATIONLEVEL4ID],
			[DESIGNATIONLEVEL5ID],
			[DESIGNATIONREPORT1CODEID],
			[DESIGNATIONREPORT2CODEID],
			[GLDEPARTMENTID],
			[PROJECTCODE],
			[ISACTIVE],
			[USERID],
			[VANITYNAME],
			[ADDEDBYID],
			[CHANGEDBYID],
			[DATEADDED],
			[DATECHANGED],
			[ACCOUNTNUMBER],
			[VSECATEGORYID],
			[STARTDATE],
			[ENDDATE],
			[DESIGNATIONUSECODEID],
			[VSESUBCATEGORYID],
			[DESIGNATIONLEVELTYPEHIERARCHYITEMID],
			[ISREVENUEDESIGNATION],
			[BASECURRENCYID],
			[SYSTEMGENERATED],
			[NAME]
		) 
		SELECT 
			ID,
			@AuditKey,
			@ChangeAgentID,
			@AuditDate,
			2, --Before DELETE
			[DESIGNATIONLEVEL1ID],
			[DESIGNATIONLEVEL2ID],
			[DESIGNATIONLEVEL3ID],
			[DESIGNATIONLEVEL4ID],
			[DESIGNATIONLEVEL5ID],
			[DESIGNATIONREPORT1CODEID],
			[DESIGNATIONREPORT2CODEID],
			[GLDEPARTMENTID],
			[PROJECTCODE],
			[ISACTIVE],
			[USERID],
			[VANITYNAME],
			[ADDEDBYID],
			[CHANGEDBYID],
			[DATEADDED],
			[DATECHANGED],
			[ACCOUNTNUMBER],
			[VSECATEGORYID],
			[STARTDATE],
			[ENDDATE],
			[DESIGNATIONUSECODEID],
			[VSESUBCATEGORYID],
			[DESIGNATIONLEVELTYPEHIERARCHYITEMID],
			[ISREVENUEDESIGNATION],
			[BASECURRENCYID],
			[SYSTEMGENERATED],
			[NAME]

		FROM DELETED

		
	end