USP_DATAFORMTEMPLATE_EDIT_RESERVATIONDEPOSIT

The save procedure used by the edit dataform template "Reservation Deposit 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.
@DEPOSITREQUIRED bit IN Deposit required
@DEPOSITAMOUNT money IN Amount due
@DEPOSITDUEDATE date IN Date due
@DEPOSITTYPECODE tinyint IN
@FINALDUEDATE date IN Final payment due

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONDEPOSIT (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @DEPOSITREQUIRED bit,
                    @DEPOSITAMOUNT money,
                    @DEPOSITDUEDATE date,
                    @DEPOSITTYPECODE tinyint,
                    @FINALDUEDATE date
                )
                as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        -- Validation for deposit amount

                        if @DEPOSITREQUIRED = 1 and @DEPOSITAMOUNT <= 0.00 and @DEPOSITTYPECODE = 0
                        begin
                            raiserror('ERR_DEPOSITAMOUNT', 13, 1);
                        end        

                        if @DEPOSITREQUIRED = 0
                        begin
                            set @DEPOSITAMOUNT = 0.0
                            set @DEPOSITDUEDATE = null
                        end

                        update dbo.RESERVATION set
                            DEPOSITREQUIRED = @DEPOSITREQUIRED,
                            DEPOSITAMOUNT = @DEPOSITAMOUNT,
                            DEPOSITDUEDATE = @DEPOSITDUEDATE,
                            FINALDUEDATE = @FINALDUEDATE,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                return 0;