USP_COPYREGISTRANTINFO
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@REGISTRANTID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_COPYREGISTRANTINFO
(
@CONSTITUENTID uniqueidentifier,
@REGISTRANTID uniqueidentifier,
@EVENTID uniqueidentifier
)
as
set nocount on;
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @CHANGEAGENTID uniqueidentifier = null,
@LASTREGISTRANTID uniqueidentifier = null,
@LASTEVENTID uniqueidentifier = null,
@CURRENTUSERID int
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
begin try
select top 1 @LASTREGISTRANTID = ID ,@LASTEVENTID=EVENTID
from
dbo.REGISTRANT
where CONSTITUENTID = @CONSTITUENTID
and EVENTID <> @EVENTID
order by DATEADDED DESC
-- handle inserting the data
insert into dbo.STORY
(ID, REGISTRANTID, EVENTID, STORYTEXT, FAFIMAGESID, IMAGECODE, TEAMFUNDRAISINGTEAMID, TYPECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select newid(), @REGISTRANTID, @EVENTID, STORYTEXT, FAFIMAGESID, IMAGECODE, TEAMFUNDRAISINGTEAMID, TYPECODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
From STORY Where REGISTRANTID=@LASTREGISTRANTID or TEAMFUNDRAISINGTEAMID=@LASTREGISTRANTID
SELECT @CURRENTUSERID = DBO.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(@CONSTITUENTID)
declare @EventName nvarchar(200), @LastEventName nvarchar(200)
select @EventName = Name from Event where ID = @EVENTID
select @LastEventName = Name from Event where ID = @LASTEVENTID
insert into PARTICIPANTEMAILTEMPLATE
(ID,EVENTID,CLIENTUSERSID,NAME,DESCRIPTION,CONTENTHTML,CONTENTTEXT,SUBJECT,CONTACTTYPE,DELETED,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED,AVAILABLEASLETTER,FAFTASKID,ISLETTER )
select NEWID(),@EVENTID,CLIENTUSERSID, Replace(NAME, @LastEventName, @EventName) ,DESCRIPTION,CONTENTHTML,CONTENTTEXT,SUBJECT,CONTACTTYPE,DELETED,@CHANGEAGENTID,@CHANGEAGENTID,GETDATE(),GETDATE(),AVAILABLEASLETTER,FAFTASKID,ISLETTER
from dbo.PARTICIPANTEMAILTEMPLATE
where CLIENTUSERSID = @CURRENTUSERID and EVENTID = @LASTEVENTID and DELETED = 0
and NAME not in
(select Replace(LP.NAME, @EventName, @LastEventName) from dbo.PARTICIPANTEMAILTEMPLATE LP where LP.CLIENTUSERSID = @CURRENTUSERID and LP.EVENTID = @EVENTID )
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0