USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTLODGING
The load procedure used by the edit dataform template "Registrant Lodging 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. |
@EVENTLODGINGID | uniqueidentifier | INOUT | Lodging location |
@PHONENUMBER | nvarchar(50) | INOUT | Phone number |
@EVENTLODGINGROOMID | uniqueidentifier | INOUT | Room type |
@ROOMNUMBER | nvarchar(10) | INOUT | Room number |
@CONFIRMATIONNUMBER | nvarchar(10) | INOUT | Confirmation number |
@CHECKINDATE | datetime | INOUT | Check-in date |
@CHECKINTIME | UDT_HOURMINUTE | INOUT | Time |
@CHECKOUTDATE | datetime | INOUT | Check-out date |
@CHECKOUTTIME | UDT_HOURMINUTE | INOUT | Time |
@EVENTID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTLODGING
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@EVENTLODGINGID uniqueidentifier = null output,
@PHONENUMBER nvarchar(50) = null output,
@EVENTLODGINGROOMID uniqueidentifier = null output,
@ROOMNUMBER nvarchar(10) = null output,
@CONFIRMATIONNUMBER nvarchar(10) = null output,
@CHECKINDATE datetime = null output,
@CHECKINTIME UDT_HOURMINUTE = null output,
@CHECKOUTDATE datetime = null output,
@CHECKOUTTIME UDT_HOURMINUTE = null output,
@EVENTID uniqueidentifier = null output
)
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
declare @REGISTRANTCANLODGE bit = 0;
declare @REGISTRANTCONSTITUENTID uniqueidentifier;
declare @MAINEVENTID uniqueidentifier;
-- Lodging information is unique to a constituent and a main event coupling,
-- not to a registrant record.
select
@DATALOADED = 1,
@REGISTRANTCANLODGE = 1,
@REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID,
@MAINEVENTID = coalesce(EVENT.MAINEVENTID, EVENT.ID)
from
dbo.REGISTRANT
inner join
dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
where
REGISTRANT.ID = @ID;
if @REGISTRANTCANLODGE = 1
begin
select
@EVENTLODGINGID = REGISTRANTLODGING.EVENTLODGINGID,
@EVENTLODGINGROOMID = EVENTLODGINGROOMINSTANCE.EVENTLODGINGROOMID,
@PHONENUMBER = REGISTRANTLODGING.PHONENUMBER,
@ROOMNUMBER = EVENTLODGINGROOMINSTANCE.ROOMNUMBER,
@CONFIRMATIONNUMBER = REGISTRANTLODGING.CONFIRMATIONNUMBER,
@CHECKINDATE = REGISTRANTLODGING.CHECKINDATE,
@CHECKINTIME = REGISTRANTLODGING.CHECKINTIME,
@CHECKOUTDATE = REGISTRANTLODGING.CHECKOUTDATE,
@CHECKOUTTIME= REGISTRANTLODGING.CHECKOUTTIME
from
dbo.REGISTRANTLODGING
left join
dbo.EVENTLODGINGROOMINSTANCE on EVENTLODGINGROOMINSTANCE.ID = REGISTRANTLODGING.EVENTLODGINGROOMINSTANCEID
where
REGISTRANTLODGING.REGISTRANTCONSTITUENTID = @REGISTRANTCONSTITUENTID
and
(
REGISTRANTLODGING.MAINEVENTID = @MAINEVENTID --MAINEVENTID is no longer used, keep it here just in case
or REGISTRANTLODGING.EVENTID = @MAINEVENTID
);
set @EVENTID = @MAINEVENTID;
end
return 0;