USP_FAFEVENTGOAL_COPY
Perform copy event goal from one event to another
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEID | uniqueidentifier | IN | |
@TARGETEVENTID | uniqueidentifier | IN | |
@SOURCEXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@COPYBATCHGUID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFEVENTGOAL_COPY
(
@SOURCEID uniqueidentifier,
@TARGETEVENTID uniqueidentifier,
@SOURCEXML xml = null,
@CHANGEAGENTID uniqueidentifier = null,
@COPYBATCHGUID uniqueidentifier
)
as
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
begin try
declare @PREVIOUSEVENTID uniqueidentifier,
@IsCopyEvent bit
set @PREVIOUSEVENTID = null
select @IsCopyEvent = case when @SOURCEXML is null and @SOURCEID is not null then 1 else 0 end
if @SOURCEXML is null
set @SOURCEXML = dbo.UFN_FAFEVENT_GETEVENTGOAL_TOITEMLISTXML(@SOURCEID)
if @IsCopyEvent = 1
set @SOURCEXML = CAST(REPLACE(CAST(@SOURCEXML AS NVARCHAR(MAX)), '<COPYBATCHGUID>'+CAST(@SOURCEID as nvarchar(40))+'</COPYBATCHGUID>', '<COPYBATCHGUID>'+CAST(@COPYBATCHGUID as nvarchar(40))+'</COPYBATCHGUID>') AS XML)
exec dbo.USP_FAFEVENT_GETEVENTGOAL_ADDFROMXML @EVENTID=@TARGETEVENTID, @XML=@SOURCEXML,@CHANGEAGENTID=@CHANGEAGENTID,@CHANGEDATE=@CURRENTDATE
select @PREVIOUSEVENTID=PRIORYEAREVENTID from dbo.EVENTEXTENSION where EVENTID = @TARGETEVENTID
if @PREVIOUSEVENTID is null
update dbo.EVENTGOAL
set
REVENUERETENTION = 0,
REVENUESPONSORRETENTION = 0,
REVENUECOMPANYRETENTION = 0,
REVENUETEAMRETENTION = 0,
REVENUEINDIVIDUALRETENTION = 0,
RECRUITMENTFUNDRAISINGCOACHRETENTION = 0,
RECRUITMENTFITNESSCOACHRETENTION = 0,
RECRUITMENTSPONSORRETENTION = 0,
RECRUITMENTCOMPANYRETENTION = 0,
RECRUITMENTDONORRETENTION = 0,
RECRUITMENTTEAMRETENTION = 0,
RECRUITMENTINDIVIDUALRETENTION = 0,
REVENUEHOUSEHOLDRETENTION = 0,
RECRUITMENTHOUSEHOLDRETENTION = 0,
REVENUEREGISTRATIONRETENTION = 0
where EVENTID = @TARGETEVENTID
else
if @PREVIOUSEVENTID <> @SOURCEID
begin
update dbo.EVENTGOAL
set
REVENUERETENTION = isnull(previous.REVENUERETENTION,0),
REVENUESPONSORRETENTION = isnull(previous.REVENUESPONSORRETENTION,0),
REVENUECOMPANYRETENTION = isnull(previous.REVENUECOMPANYRETENTION,0),
REVENUETEAMRETENTION = isnull(previous.REVENUETEAMRETENTION,0),
REVENUEINDIVIDUALRETENTION = isnull(previous.REVENUEINDIVIDUALRETENTION,0),
RECRUITMENTFUNDRAISINGCOACHRETENTION = isnull(previous.RECRUITMENTFUNDRAISINGCOACHRETENTION,0),
RECRUITMENTFITNESSCOACHRETENTION = isnull(previous.RECRUITMENTFITNESSCOACHRETENTION,0),
RECRUITMENTSPONSORRETENTION = isnull(previous.RECRUITMENTSPONSORRETENTION,0),
RECRUITMENTCOMPANYRETENTION = isnull(previous.RECRUITMENTCOMPANYRETENTION,0),
RECRUITMENTDONORRETENTION = isnull(previous.RECRUITMENTDONORRETENTION,0),
RECRUITMENTTEAMRETENTION = isnull(previous.RECRUITMENTTEAMRETENTION,0),
RECRUITMENTINDIVIDUALRETENTION = isnull(previous.RECRUITMENTINDIVIDUALRETENTION,0),
REVENUEHOUSEHOLDRETENTION = isnull(previous.REVENUEHOUSEHOLDRETENTION,0),
RECRUITMENTHOUSEHOLDRETENTION = isnull(previous.RECRUITMENTHOUSEHOLDRETENTION,0),
REVENUEREGISTRATIONRETENTION = isnull(previous.REVENUEREGISTRATIONRETENTION,0)
from (
select
REVENUERETENTION,
REVENUESPONSORRETENTION,
REVENUECOMPANYRETENTION,
REVENUETEAMRETENTION,
REVENUEINDIVIDUALRETENTION,
RECRUITMENTFUNDRAISINGCOACHRETENTION,
RECRUITMENTFITNESSCOACHRETENTION,
RECRUITMENTSPONSORRETENTION,
RECRUITMENTCOMPANYRETENTION,
RECRUITMENTDONORRETENTION,
RECRUITMENTTEAMRETENTION,
RECRUITMENTINDIVIDUALRETENTION,
REVENUEHOUSEHOLDRETENTION,
RECRUITMENTHOUSEHOLDRETENTION,
REVENUEREGISTRATIONRETENTION
from dbo.EVENTGOAL
where EVENTID = @PREVIOUSEVENTID
) previous
where EVENTID = @TARGETEVENTID
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;