USP_DATAFORMTEMPLATE_EDITLOAD_EVENTLOCATION

The load procedure used by the edit dataform template "Event Location Edit 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.
@NAME nvarchar(100) INOUT Name
@CAPACITY int INOUT Capacity
@COUNTRYID uniqueidentifier INOUT Country
@STATEID uniqueidentifier INOUT State
@ADDRESSBLOCK nvarchar(150) INOUT Address
@CITY nvarchar(50) INOUT City
@POSTCODE nvarchar(12) INOUT ZIP
@PHONENUMBER nvarchar(100) INOUT Phone number
@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.
@ROOMS xml INOUT Room/Unit

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_EVENTLOCATION
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @NAME nvarchar(100) = null output,
    @CAPACITY int = null output,
    @COUNTRYID uniqueidentifier = null output,
    @STATEID uniqueidentifier = null output,
    @ADDRESSBLOCK nvarchar(150) = null output,
    @CITY nvarchar(50) = null output,
    @POSTCODE nvarchar(12) = null output,
    @PHONENUMBER nvarchar(100) = null output,                        
    @TSLONG bigint = 0 output,
    @ROOMS xml = null output
)
as
    set nocount on;

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

    select
        @DATALOADED = 1,
        @NAME = EVENTLOCATION.NAME,
        @CAPACITY = EVENTLOCATION.CAPACITY,
        @COUNTRYID = EVENTLOCATION.COUNTRYID,
        @STATEID = EVENTLOCATION.STATEID,
        @ADDRESSBLOCK = EVENTLOCATION.ADDRESSBLOCK,
        @CITY = EVENTLOCATION.CITY,
        @POSTCODE = EVENTLOCATION.POSTCODE,
        @PHONENUMBER = EVENTLOCATION.PHONENUMBER,                            
        @TSLONG = EVENTLOCATION.TSLONG,
        @ROOMS = (
            select
                ID,
                NAME,
                CAPACITY,
                case when exists (
                    select 1 from dbo.EVENT where EVENT.EVENTLOCATIONROOMID = EVENTLOCATIONROOM.ID
                ) then 1 else 0 end as [INUSE]
            from
                dbo.EVENTLOCATIONROOM
            where
                EVENTLOCATIONID = @ID
            for
                xml raw('ITEM'),type,elements,root('ROOMS'),binary base64
        )
    from
        dbo.EVENTLOCATION
    where
        ID = @ID;

    return 0;