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