USP_DATAFORMTEMPLATE_EDIT_REGISTRANTLODGING_2

The save procedure used by the edit dataform template "Registrant Lodging Edit Data Form 2".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@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_EDIT_REGISTRANTLODGING_2 (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @EVENTLODGINGID uniqueidentifier,
    @PHONENUMBER nvarchar(50),
    @EVENTLODGINGROOMID uniqueidentifier,
    @ROOMNUMBER nvarchar(10),
    @CONFIRMATIONNUMBER nvarchar(10),
    @CHECKINDATE datetime,
    @CHECKINTIME UDT_HOURMINUTE,
    @CHECKOUTDATE datetime,
    @CHECKOUTTIME UDT_HOURMINUTE
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        declare @EVENTLODGINGROOMINSTANCEID uniqueidentifier;
            exec dbo.USP_EVENTLODGINGROOMINSTANCE_ADDORUPDATE @ROOMNUMBER, @EVENTLODGINGID, @EVENTLODGINGROOMID,  @CHANGEAGENTID, @CURRENTDATE, @EVENTLODGINGROOMINSTANCEID output, @ID;

        declare @PREVIOUSEVENTLODGINGROOMINSTANCEID uniqueidentifier;
        select @PREVIOUSEVENTLODGINGROOMINSTANCEID = EVENTLODGINGROOMINSTANCEID
        from dbo.REGISTRANTLODGING
        where ID = @ID

        update dbo.REGISTRANTLODGING
        set
            EVENTLODGINGID = @EVENTLODGINGID,
            EVENTLODGINGROOMINSTANCEID = @EVENTLODGINGROOMINSTANCEID,
            PHONENUMBER = @PHONENUMBER,
            CONFIRMATIONNUMBER = @CONFIRMATIONNUMBER,
            CHECKINDATE = @CHECKINDATE,
            CHECKINTIME = @CHECKINTIME,
            CHECKOUTDATE = @CHECKOUTDATE,
            CHECKOUTTIME = @CHECKOUTTIME,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID

        if @PREVIOUSEVENTLODGINGROOMINSTANCEID <> @EVENTLODGINGROOMINSTANCEID
            exec USP_EVENTLODGINGROOMINSTANCE_DELETEBYID_WITHCHANGEAGENTID @PREVIOUSEVENTLODGINGROOMINSTANCEID, @CHANGEAGENTID

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;