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