TR_ITINERARYITEMRESOURCE_DELETE_RESOURCE_UPDATE
Definition
Copy
CREATE trigger [dbo].[TR_ITINERARYITEMRESOURCE_DELETE_RESOURCE_UPDATE] on [dbo].[ITINERARYITEMRESOURCE] after delete not for replication
as begin
declare @CURRENTDATE datetime;
set @CURRENTDATE = GetDate();
declare @CHANGEAGENTID uniqueidentifier;
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
-- Update per-event consumable resources
update dbo.RESOURCE
set [QUANTITY] = [RESOURCE].[QUANTITY] + deleted.QUANTITYNEEDED,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from dbo.RESOURCE
inner join deleted on RESOURCE.ID = deleted.RESOURCEID
where [RESOURCE].ISPERTICKETITEM = 0
and [RESOURCE].TYPECODE = 1
-- Update per-ticket consumable itinerary resources
update dbo.RESOURCE
set [QUANTITY] = [RESOURCE].[QUANTITY] + qty,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from (
select [RESOURCE].ID, sum(dbo.UFN_RESOURCE_CALCULATEPERTICKETQUANTITY_2(deleted.PERTICKETQUANTITY * ITINERARYATTENDEE.QUANTITY, deleted.PERTICKETDIVISOR)) as qty
from dbo.RESOURCE
inner join deleted on RESOURCE.ID = deleted.RESOURCEID
inner join dbo.ITINERARYITEM on deleted.ITINERARYITEMID = ITINERARYITEM.ID
inner join dbo.ITINERARYATTENDEE on ITINERARYITEM.ITINERARYID = ITINERARYATTENDEE.ITINERARYID
where [RESOURCE].ISPERTICKETITEM <> 0 and [RESOURCE].TYPECODE = 1
group by [RESOURCE].ID) as VT
where [RESOURCE].ID = VT.ID
end