TR_SALESORDERITEMTICKET_AUDIT_DELETE

Trigger Definition

/* 
Generated by Blackbaud AppFx Platform
Date:  11/11/2014 4:12:41 PM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.2.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE TRIGGER dbo.TR_SALESORDERITEMTICKET_AUDIT_DELETE ON dbo.SALESORDERITEMTICKET 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('SALESORDERITEMTICKET') = 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.SALESORDERITEMTICKETAUDIT(
			AUDITRECORDID, 
			AUDITKEY,
			AUDITCHANGEAGENTID,
			AUDITDATE, 
			AUDITTYPECODE,
			[PROGRAMID],
			[EVENTID],
			[PRICETYPECODEID],
			[PRICE],
			[ADDEDBYID],
			[CHANGEDBYID],
			[DATEADDED],
			[DATECHANGED],
			[PROGRAMNAME],
			[PROGRAMCATEGORYNAME]
		) 
		SELECT 
			ID,
			@AuditKey,
			@ChangeAgentID,
			@AuditDate,
			2, --Before DELETE
			[PROGRAMID],
			[EVENTID],
			[PRICETYPECODEID],
			[PRICE],
			[ADDEDBYID],
			[CHANGEDBYID],
			[DATEADDED],
			[DATECHANGED],
			[PROGRAMNAME],
			[PROGRAMCATEGORYNAME]

		FROM DELETED

		
	end