USP_REGISTRANT_COPY
Copies registrants from one event to another event as invitees.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEEVENTID | uniqueidentifier | IN | |
@DESTINATIONEVENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_REGISTRANT_COPY
(
@SOURCEEVENTID uniqueidentifier,
@DESTINATIONEVENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
with execute as caller
as
set nocount on;
-- Cannot copy if the source event does not exist
if not exists (select ID from dbo.EVENT where ID = @SOURCEEVENTID)
raiserror('The source event specified does not exist.',13,1);
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
insert into dbo.INVITEE
(
CONSTITUENTID,
EVENTID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
REGISTRANT.CONSTITUENTID,
@DESTINATIONEVENTID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
dbo.REGISTRANT
where
REGISTRANT.EVENTID = @SOURCEEVENTID
and REGISTRANT.CONSTITUENTID is not null
and not exists
(
select
ID
from
dbo.INVITEE
where
INVITEE.CONSTITUENTID = REGISTRANT.CONSTITUENTID
and INVITEE.EVENTID = @DESTINATIONEVENTID
);
return 0;