USP_DATAFORMTEMPLATE_EDIT_RESERVATIONDUEDATES

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@DEPOSITREQUIRED bit IN
@DEPOSITAMOUNT money IN
@DEPOSITDUEDATE date IN
@SECURITYDEPOSITREQUIRED bit IN
@SECURITYDEPOSITAMOUNT money IN
@SECURITYDEPOSITDUEDATE date IN
@CONTRACTREQUIRED bit IN
@CONTRACTDUEDATE date IN
@FINALCOUNTREQUIRED bit IN
@FINALCOUNTDUEDATE date IN
@FINALDUEDATE date IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONDUEDATES (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @DEPOSITREQUIRED bit,
    @DEPOSITAMOUNT money,
    @DEPOSITDUEDATE date,
    @SECURITYDEPOSITREQUIRED bit,
    @SECURITYDEPOSITAMOUNT money,
    @SECURITYDEPOSITDUEDATE date,
    @CONTRACTREQUIRED bit,
    @CONTRACTDUEDATE date,
    @FINALCOUNTREQUIRED bit,
    @FINALCOUNTDUEDATE date,
    @FINALDUEDATE date
)
as
    set nocount on;

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

    declare @CURRENTDATE datetime = getdate();

    begin try
        if @DEPOSITREQUIRED = 0 begin
            set @DEPOSITAMOUNT = 0;
            set @DEPOSITDUEDATE = null;
        end
        else if @DEPOSITAMOUNT <= 0 begin
            raiserror('BBERR_RESERVATIONDUEDATESEDIT_DEPOSITAMOUNTREQURIED', 13, 1);
        end

        if @SECURITYDEPOSITREQUIRED = 0 begin
            set @SECURITYDEPOSITAMOUNT = 0;
            set @SECURITYDEPOSITDUEDATE = null;
        end
        else if @SECURITYDEPOSITAMOUNT <= 0 begin
            raiserror('BBERR_RESERVATIONDUEDATESEDIT_SECURITYDEPOSITAMOUNTREQUIRED', 13, 1);
        end

        if @CONTRACTREQUIRED = 0 begin
            set @CONTRACTDUEDATE = null;
        end

        if @FINALCOUNTREQUIRED = 0 begin
            set @FINALCOUNTDUEDATE = null;
        end

        update dbo.RESERVATION set
            DEPOSITREQUIRED = @DEPOSITREQUIRED,
            DEPOSITAMOUNT = @DEPOSITAMOUNT,
            DEPOSITDUEDATE = @DEPOSITDUEDATE,
            SECURITYDEPOSITREQUIRED = @SECURITYDEPOSITREQUIRED,
            SECURITYDEPOSITAMOUNT = @SECURITYDEPOSITAMOUNT,
            SECURITYDEPOSITDUEDATE = @SECURITYDEPOSITDUEDATE,
            CONTRACTREQUIRED = @CONTRACTREQUIRED,
            CONTRACTDUEDATE = @CONTRACTDUEDATE,
            FINALCOUNTREQUIRED = @FINALCOUNTREQUIRED,
            FINALCOUNTDUEDATE = @FINALCOUNTDUEDATE,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE,
            FINALDUEDATE = @FINALDUEDATE
        where
            ID = @ID;
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;