TR_ITINERARYATTENDEE_DELETE_RESOURCE_UPDATE
Definition
Copy
CREATE trigger [dbo].[TR_ITINERARYATTENDEE_DELETE_RESOURCE_UPDATE] on [dbo].[ITINERARYATTENDEE] 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-ticket consumable itinerary resources
update dbo.RESOURCE
set [QUANTITY] = [RESOURCE].[QUANTITY] + qty,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from (
select [RESOURCE].ID, sum(ITINERARYRESOURCE.PERTICKETQUANTITY * deleted.QUANTITY) as qty
from dbo.RESOURCE
inner join dbo.ITINERARYRESOURCE on RESOURCE.ID = ITINERARYRESOURCE.RESOURCEID
inner join deleted on ITINERARYRESOURCE.ITINERARYID = deleted.ITINERARYID
where [RESOURCE].ISPERTICKETITEM <> 0 and [RESOURCE].TYPECODE = 1
group by [RESOURCE].ID) as VT
where [RESOURCE].ID = VT.ID
-- Update per-ticket consumable itinerary item resources
update dbo.RESOURCE
set [QUANTITY] = [RESOURCE].[QUANTITY] + qty,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from (
select [RESOURCE].ID, sum(ITINERARYITEMRESOURCE.PERTICKETQUANTITY * deleted.QUANTITY) as qty
from dbo.RESOURCE
inner join dbo.ITINERARYITEMRESOURCE on RESOURCE.ID = ITINERARYITEMRESOURCE.RESOURCEID
inner join dbo.ITINERARYITEM on ITINERARYITEMRESOURCE.ITINERARYITEMID = ITINERARYITEM.ID
inner join deleted on ITINERARYITEM.ITINERARYID = deleted.ITINERARYID
where dbo.[RESOURCE].ISPERTICKETITEM <> 0 and dbo.[RESOURCE].TYPECODE = 1
group by [RESOURCE].ID) as VT
where [RESOURCE].ID = VT.ID
-- Update per-ticket consumable scheduled event itinerary item resources
update dbo.RESOURCE
set [QUANTITY] = [RESOURCE].[QUANTITY] + qty,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from (
select [RESOURCE].ID, sum(EVENTRESOURCE.PERTICKETQUANTITY * deleted.QUANTITY) as qty
from dbo.RESOURCE
inner join dbo.EVENTRESOURCE on RESOURCE.ID = EVENTRESOURCE.RESOURCEID
inner join dbo.ITINERARYITEM on EVENTRESOURCE.EVENTID = ITINERARYITEM.EVENTID
inner join deleted on ITINERARYITEM.ITINERARYID = deleted.ITINERARYID
where [RESOURCE].ISPERTICKETITEM <> 0 and [RESOURCE].TYPECODE = 1
group by [RESOURCE].ID) as VT
where [RESOURCE].ID = VT.ID
end