USP_DATAFORMTEMPLATE_EDITLOAD_RESERVATIONCONTACT

The load procedure used by the edit dataform template "Reservation Contact Edit Data 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.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@CONSTITUENTID uniqueidentifier INOUT
@CONSTITUENTNAME nvarchar(154) INOUT Patron
@CONTACTRELATIONSHIPID uniqueidentifier INOUT Contact
@CONTACTPHONENUMBER nvarchar(100) INOUT Phone
@CONTACTEMAILADDRESS nvarchar(100) INOUT Email
@CONTACTADDRESS nvarchar(300) INOUT Address

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RESERVATIONCONTACT
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @CONSTITUENTID uniqueidentifier = null output,
                        @CONSTITUENTNAME nvarchar(154) = null output,
                        @CONTACTRELATIONSHIPID uniqueidentifier = null output,
                        @CONTACTPHONENUMBER nvarchar(100) = null output,
                        @CONTACTEMAILADDRESS nvarchar(100) = null output,
                        @CONTACTADDRESS nvarchar(300) = null output
                    )
                    as
                        set nocount on;

                        set @DATALOADED = 0;
                        set @TSLONG = 0;

                        declare @CONTACTID uniqueidentifier;
                        declare @ADDRESSID uniqueidentifier;
                        declare @EMAILADDRESSID uniqueidentifier;
                        declare @PHONEID uniqueidentifier;

                        select
                            @DATALOADED = 1,
                            @TSLONG = TSLONG,
                            @CONSTITUENTID = CONSTITUENTID,
                            @CONSTITUENTNAME = dbo.UFN_CONSTITUENT_BUILDNAME(CONSTITUENTID),
                            @CONTACTID = RECIPIENTID,
                            @ADDRESSID = ADDRESSID,
                            @EMAILADDRESSID = EMAILADDRESSID,
                            @PHONEID = PHONEID
                        from
                            dbo.SALESORDER
                        where
                            ID = @ID
                            and dbo.UFN_CONSTITUENT_ISORGANIZATION(CONSTITUENTID) = 1;

                        if @DATALOADED = 1
                        begin

                            select 
                                @CONTACTRELATIONSHIPID = RELATIONSHIP.ID
                            from dbo.RELATIONSHIP
                            left join dbo.ADDRESS on ADDRESS.RELATIONSHIPID = RELATIONSHIP.ID
                            where 
                                RELATIONSHIPCONSTITUENTID = @CONSTITUENTID and
                                RECIPROCALCONSTITUENTID = @CONTACTID and
                                RELATIONSHIP.ISCONTACT = 1 and
                                (ADDRESS.ID = @ADDRESSID or @ADDRESSID is null)

                            select
                                @CONTACTADDRESS = dbo.UFN_BUILDFULLADDRESS(ID, ADDRESSBLOCK, CITY, STATEID, POSTCODE, COUNTRYID)
                            from dbo.ADDRESS where ID = @ADDRESSID    

                            select 
                                @CONTACTPHONENUMBER = NUMBER
                            from dbo.PHONE where ID = @PHONEID

                            select
                                @CONTACTEMAILADDRESS = EMAILADDRESS
                            from dbo.EMAILADDRESS where ID = @EMAILADDRESSID

                        end

                        return 0;