USP_CLONESITE_MEMBERSHIP
Handles the Membership-specific steps for cloning a CMS site.
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_MEMBERSHIP
(
@SourceClientSitesID int,
@TargetClientSitesID int,
@CurrentUserID int,
@CopyBatchGuid uniqueidentifier
)
as
--Insert new email acknowledgement templates
declare @IDs xml
set @IDs =
(
select CM.EmailTemplateID as ID
from dbo.ClientMemberships CM
inner join dbo.SiteContent SC on SC.CopySourceID = CM.SiteContentID
where SC.CopyBatchGUID = @CopyBatchGuid
FOR XML RAW, ELEMENTS
)
exec spCloneSite_EmailTemplate @TargetClientSitesID,@CurrentUserID,@CopyBatchGUID,@IDs
insert into dbo.ClientMemberships(SiteContentID,OwnerID,Deleted,Guid,XMLData,EmailTemplateID,MerchantAccount,CartMessage,ShoppingCartPageID,CartSendMembershipAcknowledgementAlways,AcknowledgementBlock)
select
SC.ID,
SC.OwnerID,
CM.Deleted,
NEWID(),
CM.XMLData,
ET.ID,
CM.MerchantAccount,
dbo.UFN_UPDATECOPYCONTENTHTML (CM.CartMessage,@CopyBatchGuid),
ISNULL(SP.ID, CM.ShoppingCartPageID),
CM.CartSendMembershipAcknowledgementAlways,
dbo.UFN_UPDATECOPYCONTENTHTML (CM.AcknowledgementBlock,@CopyBatchGuid)
from dbo.ClientMemberships CM
inner join dbo.SiteContent SC on SC.CopySourceID = CM.SiteContentID
inner join dbo.EmailTemplate ET on ET.CopySourceID = CM.EmailTemplateID
left outer join dbo.SitePages SP on SP.CopySourceID = CM.ShoppingCartPageID and SP.CopyBatchGUID = @CopyBatchGuid
where SC.CopyBatchGUID = @CopyBatchGuid and ET.CopyBatchGUID = @CopyBatchGuid
--Update XML Data
declare @Data xml
set @Data =
(
select P.SiteContentID, CM.ID as Value
from dbo.UFN_GETXMLPROPERTYFORSITECOPY(@CopyBatchGuid,117, 'ClientMembershipID') P
inner join dbo.ClientMemberships CM on CM.SiteContentID = P.SiteContentID
FOR XML RAW, ELEMENTS
)
exec USP_UPDATEXMLPROPERTYFORSITECOPY 'ClientMembershipID', @Data
--Update XML Data
set @Data =
(
select P.SiteContentID, CM.ID as Value
from dbo.UFN_GETXMLPROPERTYFORSITECOPY(@CopyBatchGuid,59, 'ClientMembershipID') P
inner join dbo.ClientMemberships CM on CM.SiteContentID = P.SiteContentID
FOR XML RAW, ELEMENTS
)
exec USP_UPDATEXMLPROPERTYFORSITECOPY 'ClientMembershipID', @Data
--Update XML Data
set @Data =
(
select P.SiteContentID, SI.ID as Value
from dbo.UFN_GETXMLPROPERTYFORSITECOPY(@CopyBatchGuid,117, 'FinderImgUrl') P
inner join dbo.SiteImages SI on SI.CopySourceID = P.Value
where SI.CopyBatchGuid = @CopyBatchGuid
FOR XML RAW, ELEMENTS
)
exec USP_UPDATEXMLPROPERTYFORSITECOPY 'FinderImgUrl', @Data