USP_RESERVATION_CALCULATEFLATRATEFEES

Calculates per item, amount type, per program fees on a Reservation that uses flat rate pricing

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTDATE datetime IN

Definition

Copy


        CREATE procedure dbo.USP_RESERVATION_CALCULATEFLATRATEFEES
        (
            @ID uniqueidentifier,
            @CHANGEAGENTID uniqueidentifier = null,
            @CURRENTDATE datetime = null
        )
        as
        begin

            set nocount on;

            declare @ISFLATRATE bit = 0
            declare @INCLUDEALLFEES bit = 0
            select
                @ISFLATRATE = 1,
                @INCLUDEALLFEES = INCLUDEALLFEES
            from dbo.RESERVATIONRATESCALE
                where ID = @ID                

            if @ISFLATRATE = 1
            begin
                if @CHANGEAGENTID is null  
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                if @CURRENTDATE is null
                    set @CURRENTDATE = getdate()

                update dbo.SALESORDERITEM set
                    PRICINGSTRUCTURECODE = 1,
                    DATECHANGED = @CURRENTDATE,
                    CHANGEDBYID = @CHANGEAGENTID
                from dbo.SALESORDERITEMFEE
                where
                    SALESORDERITEMFEE.ID = SALESORDERITEM.ID and
                    SALESORDERID = @ID and
                    (
                        @INCLUDEALLFEES = 1 or
                        dbo.UFN_RESERVATIONRATESCALE_ISFEEINCLUDED(@ID,SALESORDERITEMFEE.FEEID) = 1
                    ) and
                    PRICINGSTRUCTURECODE = 0

                exec dbo.USP_RESERVATION_DISTRIBUTEFEEAPPLICATIONS @ID, @CHANGEAGENTID, @CURRENTDATE;
            end
        end