USP_DATAFORMTEMPLATE_ADD_RESERVATIONRATESCALEAPPLICATION

The save procedure used by the add dataform template "Reservation Rate Scale Application Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CONTEXTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@TYPECODE tinyint IN Application type
@PROGRAMID uniqueidentifier IN Program
@FEEID uniqueidentifier IN Fee
@RESOURCEID uniqueidentifier IN Supply/Equipment resource
@VOLUNTEERTYPEID uniqueidentifier IN Staffing resource
@AMOUNT money IN Amount

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_RESERVATIONRATESCALEAPPLICATION
                (
                    @ID uniqueidentifier = null output,
                    @CONTEXTID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @TYPECODE tinyint = 0,
                    @PROGRAMID uniqueidentifier = null,
                    @FEEID uniqueidentifier = null,
                    @RESOURCEID uniqueidentifier = null,
                    @VOLUNTEERTYPEID uniqueidentifier = null,
                    @AMOUNT money = 0.0
                )
                as

                set nocount on;

                if @ID is null
                    set @ID = newid()

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

                declare @CURRENTDATE datetime
                set @CURRENTDATE = getdate()

                begin try
                    declare @STATUSCODE tinyint;

                    if (@TYPECODE = 0)
                    begin
                        if (dbo.UFN_PROGRAM_ISPREREGISTERED(@PROGRAMID) = 1)
                            raiserror('BBERR_INVALIDPROGRAM', 13, 1);

                    end

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

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

                    insert into dbo.RESERVATIONRATESCALEAPPLICATION
                    (
                        ID, 
                        RESERVATIONRATESCALEID,
                        TYPECODE,
                        PROGRAMID, 
                        FEEID,
                        RESOURCEID,
                        VOLUNTEERTYPEID,
                        AMOUNT,
                        ISADDEDMANUALLY,
                        ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
                    )
                    values
                    (
                        @ID
                        @CONTEXTID
                        @TYPECODE,
                        @PROGRAMID
                        @FEEID,
                        @RESOURCEID,
                        @VOLUNTEERTYPEID,
                        @AMOUNT,
                        1,
                        @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
                    )

                    exec dbo.USP_RESERVATION_UPDATEFLATRATE @CONTEXTID, @CHANGEAGENTID, @CURRENTDATE;

                end try

                begin catch
                    exec dbo.USP_RAISE_ERROR
                    return 1
                end catch

                return 0