USP_DATAFORMTEMPLATE_EDIT_RESERVATIONRATESCALE

The save procedure used by the edit dataform template "Reservation Rate Scale Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@RATESCALEID uniqueidentifier IN Flat rate scale

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONRATESCALE
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @RATESCALEID uniqueidentifier
                )
                as
                    set nocount on;

                    if @CHANGEAGENTID is null  
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        declare @STATUSCODE tinyint;

                        select @STATUSCODE = SALESORDER.STATUSCODE
                        from dbo.SALESORDER
                        where SALESORDER.ID = @ID

                        if @STATUSCODE in (1, 5)
                            raiserror('BBERR_INVALIDSTATUS', 13, 1);                    

                        declare @OLDRATESCALEID uniqueidentifier = null
                        select
                            @OLDRATESCALEID = RATESCALEID
                        from dbo.RESERVATIONRATESCALE
                        where ID = @ID

                        if @OLDRATESCALEID <> @RATESCALEID
                        begin
                            exec dbo.USP_RESERVATION_UPDATERATESCALE @ID, @RATESCALEID, @CHANGEAGENTID, @CURRENTDATE;
                            exec dbo.USP_RESERVATION_UPDATEFLATRATE @ID, @CHANGEAGENTID, @CURRENTDATE;                
                        end                        
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                return 0;