USP_DATAFORMTEMPLATE_VIEW_RESERVATION_CONTRACT

The load procedure used by the view dataform template "Reservation Contract Due Date View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@CONTRACTREQUIRED bit INOUT Contract required
@CONTRACTDUEDATE date INOUT Due date
@CONTRACTRECEIVED bit INOUT Contract received
@CONTRACTSENT bit INOUT Contract sent
@CONTRACTSENTDATE date INOUT Sent
@CONTRACTRECEIVEDDATE date INOUT Received
@CONTRACTPASTDUE bit INOUT CONTRACTPASTDUE
@DAYSPASTDUE int INOUT Days past due
@FILE varbinary INOUT File
@FILENAME nvarchar(255) INOUT Contract
@RESERVATIONID uniqueidentifier INOUT RESERVATIONID

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_RESERVATION_CONTRACT
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @CONTRACTREQUIRED bit = null output,
                    @CONTRACTDUEDATE date = null output,
                    @CONTRACTRECEIVED bit = null output,
                    @CONTRACTSENT bit = null output,
                    @CONTRACTSENTDATE date = null output,
                    @CONTRACTRECEIVEDDATE date = null output,
                    @CONTRACTPASTDUE bit = null output,
                    @DAYSPASTDUE integer = null output,
                    @FILE varbinary(max) = null output,
                    @FILENAME nvarchar(255) = null output,
                    @RESERVATIONID uniqueidentifier = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

                    declare @CURRENTDATE date;
                    set @CURRENTDATE = getdate()

                    set @CONTRACTPASTDUE = 0;

                    select top 1 @CONTRACTSENTDATE = STATUSDATE
                    from dbo.RESERVATIONSTATUSHISTORY 
                    where RESERVATIONID = @ID and
                        STATUSCODE = 6
                    order by STATUSDATE desc


                    select top 1 @CONTRACTRECEIVEDDATE = STATUSDATE
                    from dbo.RESERVATIONSTATUSHISTORY 
                    where RESERVATIONID = @ID and
                        STATUSCODE = 7
                    order by STATUSDATE desc

                    select @DATALOADED = 1,
                           @CONTRACTREQUIRED = CONTRACTREQUIRED,
                           @CONTRACTDUEDATE = CONTRACTDUEDATE,
                           @CONTRACTRECEIVED = CONTRACTRECEIVED,
                           @CONTRACTSENT = CONTRACTSENT,
                           @FILENAME = RESERVATIONATTACHMENT.FILENAME
                    from dbo.RESERVATION
                    left outer join
                        dbo.RESERVATIONATTACHMENT on RESERVATION.ID = RESERVATIONATTACHMENT.RESERVATIONID and RESERVATIONATTACHMENT.ISCONTRACT = 1
                    where RESERVATION.ID = @ID;

                    if @CONTRACTREQUIRED = 1 and @CONTRACTDUEDATE < @CURRENTDATE and @CONTRACTRECEIVED = 0
                    begin
                        set @CONTRACTPASTDUE = 1;
                        set @DAYSPASTDUE = datediff(day, @CONTRACTDUEDATE, @CURRENTDATE)
                    end

                    set @RESERVATIONID = @ID;
                    return 0;