USP_DATAFORMTEMPLATE_ADD_REGISTRANTLODGING

The save procedure used by the add dataform template "Registrant Lodging Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@REGISTRANTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@EVENTLODGINGID uniqueidentifier IN Lodging location
@PHONENUMBER nvarchar(50) IN Phone number
@EVENTLODGINGROOMID uniqueidentifier IN Room type
@ROOMNUMBER nvarchar(10) IN Room number
@CONFIRMATIONNUMBER nvarchar(10) IN Confirmation number
@CHECKINDATE datetime IN Check-in date
@CHECKINTIME UDT_HOURMINUTE IN Time
@CHECKOUTDATE datetime IN Check-out date
@CHECKOUTTIME UDT_HOURMINUTE IN Time

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_REGISTRANTLODGING
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @CURRENTAPPUSERID uniqueidentifier,
    @REGISTRANTID uniqueidentifier,
    @EVENTLODGINGID uniqueidentifier,
    @PHONENUMBER nvarchar(50) = '',
    @EVENTLODGINGROOMID uniqueidentifier = null,
    @ROOMNUMBER nvarchar(10) = '',
    @CONFIRMATIONNUMBER nvarchar(10) = '',
    @CHECKINDATE datetime = null,
    @CHECKINTIME UDT_HOURMINUTE = null,
    @CHECKOUTDATE datetime = null,
    @CHECKOUTTIME UDT_HOURMINUTE = null
)
as

    set nocount on;

    if @ID is null
        set @ID = newid()

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    declare @REGISTRANTCONSTITUENTID uniqueidentifier;
    declare @EVENTLODGINGEVENTID uniqueidentifier;

    begin try
        select @REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID
        from dbo.REGISTRANT
        where REGISTRANT.ID = @REGISTRANTID;

        select top 1 @EVENTLODGINGEVENTID = EVENTLODGING.EVENTID
        from 
            dbo.EVENTLODGING
            left join dbo.EVENTSITE on EVENTSITE.EVENTID = EVENTLODGING.EVENTID
        where 
            EVENTLODGING.ID = @EVENTLODGINGID
            and dbo.UFN_SITEALLOWEDFORUSERONFEATURE(@CURRENTAPPUSERID, EVENTSITE.SITEID, '49e6ff94-34a6-4512-b773-6a756af452b0', 1) = 1

        if @EVENTLODGINGEVENTID = null
            raiserror('ERR_EVENTLODGINGEVENTID_DOESNOTHAVEACCESS', 13, 1);

        exec dbo.[USP_REGISTRANTLODGING_ADD] 
                    @ID output,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @REGISTRANTCONSTITUENTID,
                    @EVENTLODGINGEVENTID,
                    @PHONENUMBER,
                    @EVENTLODGINGROOMID,
                    @ROOMNUMBER,
                    @CONFIRMATIONNUMBER,
                    @CHECKINDATE,
                    @CHECKINTIME,
                    @CHECKOUTDATE,
                    @CHECKOUTTIME,
                    @EVENTLODGINGID;
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

    return 0