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