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