USP_ITINERARYSTAFFRESOURCE_DELETE
Executes the "Itinerary Staff Resource Delete Record Operation" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_ITINERARYSTAFFRESOURCE_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
--check deletion rules, if any
declare @ORDERID uniqueidentifier
declare @ISFLATRATE bit = 0
declare @STATUSCODE tinyint;
select
@ORDERID = RESERVATION.ID,
@ISFLATRATE = case when PRICINGCODE = 1 then 1 else 0 end,
@STATUSCODE = STATUSCODE
from dbo.RESERVATION
inner join dbo.SALESORDER on SALESORDER.ID = RESERVATION.ID
inner join dbo.ITINERARY on ITINERARY.RESERVATIONID = RESERVATION.ID
inner join dbo.ITINERARYSTAFFRESOURCE on ITINERARYSTAFFRESOURCE.ITINERARYID = ITINERARY.ID
where ITINERARYSTAFFRESOURCE.ID = @ID
if @STATUSCODE in (1, 5)
raiserror('BBERR_INVALIDSTATUS', 13, 1);
-- use the system generated delete routine to allow proper recording of the deleting agent
exec USP_ITINERARYSTAFFRESOURCE_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
if @ISFLATRATE = 1
exec dbo.USP_RESERVATION_DISTRIBUTEAPPLICATIONS @ORDERID, @CHANGEAGENTID
-- recalculate taxes
exec dbo.USP_SALESORDER_CALCULATETAXES @ORDERID, @CHANGEAGENTID;
if @ISFLATRATE = 1
exec dbo.USP_RESERVATIONRATESCALE_UPDATETAXES @ORDERID, @CHANGEAGENTID;
return 0;
end