USP_RESCHEDULETICKETS_UPDATEREGISTRANT

Parameters

Parameter Parameter Type Mode Description
@REGISTRANTID uniqueidentifier IN
@NEWEVENTID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_RESCHEDULETICKETS_UPDATEREGISTRANT
(
    @REGISTRANTID uniqueidentifier,
    @NEWEVENTID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as
begin
    declare @CURRENTTIME datetime = getdate();

    declare @HISTORICALREGISTRANTID uniqueidentifier = newid();
    declare @ORIGINALEVENTID uniqueidentifier;
    declare @ISCANCELLED bit;

    select @ORIGINALEVENTID = EVENTID, @ISCANCELLED = ISCANCELLED
    from dbo.REGISTRANT
    where ID = @REGISTRANTID;

    -- Updating the original registrant allows us to not have to update a bunch of foreign keys.

    update dbo.REGISTRANT
    set EVENTID = @NEWEVENTID, CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTTIME
    where ID = @REGISTRANTID;

    -- Insert historical cancelled registrant record.

    insert into dbo.REGISTRANT
        (ID, EVENTID, ISCANCELLED, USERMARKEDATTENDANCE, ATTENDED, BENEFITSWAIVED, CONSTITUENTID, CUSTOMIDENTIFIER, EVENTSEATINGNOTE, GUESTOFREGISTRANTID, ISWALKIN, NOTES, ONLINEREGISTRANT, WILLNOTATTEND, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    select
        @HISTORICALREGISTRANTID, @ORIGINALEVENTID, 1, 1, 0, BENEFITSWAIVED, CONSTITUENTID, CUSTOMIDENTIFIER, EVENTSEATINGNOTE, GUESTOFREGISTRANTID, ISWALKIN, NOTES, ONLINEREGISTRANT, WILLNOTATTEND, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTTIME, @CURRENTTIME
    from dbo.REGISTRANT
    where ID = @REGISTRANTID;

end