spCloneSite_Folders

Parameters

Parameter Parameter Type Mode Description
@SourceClientSitesID int IN
@TargetClientSitesID int IN
@CurrentUserID int IN
@CopyBatchGUID uniqueidentifier IN

Definition

Copy


CREATE PROCEDURE [dbo].[spCloneSite_Folders]
(
    @SourceClientSitesID int,
    @TargetClientSitesID int,
    @CurrentUserID int,
    @CopyBatchGUID uniqueidentifier
)

AS

BEGIN TRANSACTION

    INSERT INTO SiteFolders
    (FolderName, ParentFolderID, Sequence, ClientSitesID, Type, Deleted, Guid, OwnerID, CopySourceID, CopyBatchGUID)
    SELECT
    FolderName,
    NULL,
    Sequence,
    @TargetClientSitesID,
    Type,
    Deleted,
    newid(),
    OwnerID,
    FolderID,
    @CopyBatchGUID
    FROM SiteFolders WHERE ClientSitesID = @SourceClientSitesID AND Deleted = 0 and Type not in (1,8)   --Do not copy folders of email campaign and email list



    UPDATE NewSiteFolders
    SET NewSiteFolders.ParentFolderID = NewParentFolders.FolderID
    FROM SiteFolders NewSiteFolders
    INNER JOIN SiteFolders CopySiteFolders ON CopySiteFolders.FolderID = NewSiteFolders.CopySourceID
    INNER JOIN SiteFolders CopyParentFolders ON CopyParentFolders.FolderID = CopySiteFolders.ParentFolderID
    INNER JOIN SiteFolders NewParentFolders ON NewParentFolders.CopySourceID = CopyParentFolders.FolderID AND NewParentFolders.CopyBatchGUID = @CopyBatchGUID
    WHERE
    NewSiteFolders.CopyBatchGUID = @CopyBatchGUID

COMMIT TRANSACTION