USP_CLONESITE_FAFPARTICIPANTPAGE
Handle the copy of FAF participant page part in cloning CMS website
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SourceClientSitesID | int | IN | |
@TargetClientSitesID | int | IN | |
@CurrentUserID | int | IN | |
@CopyBatchGUID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure [dbo].[USP_CLONESITE_FAFPARTICIPANTPAGE]
(
@SourceClientSitesID as int
,@TargetClientSitesID as int
,@CurrentUserID as int
,@CopyBatchGUID as uniqueidentifier
)
as
begin
set nocount on;
declare @TargetEventID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CURRENTDATE datetime
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
-- copy part config data in FAFPARTICIPANTPAGECONTENT
insert into dbo.FAFPARTICIPANTPAGECONTENT
(ID, PAGEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select SC2.Guid, P.ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from FAFPARTICIPANTPAGECONTENT FC
inner join SiteContent SC
on FC.ID = SC.Guid and SC.ClientSitesID = @SourceClientSitesID
inner join SiteContent SC2
on SC2.CopyBatchGUID = @CopyBatchGUID
and SC.ID = SC2.CopySourceID and SC2.ClientSitesID = @TargetClientSitesID
inner join SitePages P
on P.COPYSOURCEID = FC.PAGEID and P.COPYBATCHGUID = @CopyBatchGUID and P.ClientSitesID = @TargetClientSitesID
select @TargetEventID=EVENTID from dbo.EVENTEXTENSION where CLIENTSITESID = @TargetClientSitesID
if @TargetEventID is not null
begin
if (exists(select EW.ID from dbo.EVENTWIDGET EW join dbo.EVENTEXTENSION EX on EW.EVENTID = EX.EVENTID where EX.CLIENTSITESID = @SourceClientSitesID)
and not exists(select EW.ID from dbo.EVENTWIDGET EW where EW.EVENTID = @TargetEventID))
begin
insert into dbo.EVENTWIDGET
(ID,WIDGETID,EVENTID,DISPLAYTEXT,ROLECODE,ISACTIVE,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
select newid(), EW.WIDGETID, @TargetEventID, EW.DISPLAYTEXT, EW.ROLECODE, EW.ISACTIVE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.EVENTWIDGET EW
join dbo.EVENTEXTENSION EX on EW.EVENTID = EX.EVENTID
where EX.CLIENTSITESID = @SourceClientSitesID
insert into dbo.WIDGETEXTENSION
(ID, EVENTWIDGETID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
select NEWID(), ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.EVENTWIDGET
where EVENTID = @TargetEventID and WIDGETID in (11,13,14)/**/
end
end
set nocount off;
end