USP_CLONESITE_EVENTREGISTRATION
Handles the Event Registration-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_EVENTREGISTRATION
(
@SourceClientSitesID int,
@TargetClientSitesID int,
@CurrentUserID int,
@CopyBatchGuid uniqueidentifier
)
as
--Insert new email acknowledgement templates
declare @IDs xml
set @IDs =
(
select CE.EmailTemplateID as ID
from dbo.ClientEvents CE
inner join dbo.SiteContent SC on SC.CopySourceID = CE.ContentID and SC.CopyBatchGUID = @CopyBatchGuid
FOR XML RAW, ELEMENTS
)
exec spCloneSite_EmailTemplate @TargetClientSitesID,@CurrentUserID,@CopyBatchGUID,@IDs
INSERT INTO ClientEvents
(
ClientsID,
OwnerID,
Deleted,
Guid,
FundID,
ConstitCodeID,
EmailTemplateID,
RedirectPageID,
ContentID,
MerchantAccount,
NoMGPledges,
CartMessage,
ShoppingCartPageID,
AllowCreditCard,
AllowPledge,
CartSendRegistrationAcknowledgementAlways,
AcknowledgementBlock
)
SELECT
CE.ClientsID,
CE.OwnerID,
CE.Deleted,
NEWID(),
CE.FundID,
CE.ConstitCodeID,
ISNULL(ET.ID, -1),
ISNULL(REDIRECTSP.ID, CE.RedirectPageID),
SC.ID,
CE.MerchantAccount,
CE.NoMGPledges,
dbo.UFN_UPDATECOPYCONTENTHTML (CE.CartMessage, @CopyBatchGUID),
ISNULL(CARTSP.ID, CE.ShoppingCartPageID),
CE.AllowCreditCard,
CE.AllowPledge,
CE.CartSendRegistrationAcknowledgementAlways,
dbo.UFN_UPDATECOPYCONTENTHTML (CE.AcknowledgementBlock, @CopyBatchGUID)
FROM ClientEvents CE
INNER JOIN SiteContent SC on SC.CopySourceID = CE.ContentID and SC.CopyBatchGUID = @CopyBatchGUID
LEFT OUTER JOIN EmailTemplate ET on ET.CopySourceID = CE.EmailTemplateID and ET.CopyBatchGUID = @CopyBatchGUID
LEFT OUTER JOIN SitePages REDIRECTSP on REDIRECTSP.CopySourceID = CE.RedirectPageID and REDIRECTSP.CopyBatchGUID = @CopyBatchGUID
LEFT OUTER JOIN SitePages CARTSP on CARTSP.CopySourceID = CE.ShoppingCartPageID and CARTSP.CopyBatchGUID = @CopyBatchGUID
INSERT INTO EventItems
(
ClientEventsID,
BackOfficeID,
LimitCapacity,
PageLink,
DisplayName,
ShowRelations,
Attributes,
DisplayDesc,
Target,
PageTabID
)
SELECT
CE2.ID,
EI.BackOfficeID,
EI.LimitCapacity,
ISNULL(CAST(SP.ID AS NVARCHAR(1024)), EI.PageLink),
EI.DisplayName,
EI.ShowRelations,
EI.Attributes,
EI.DisplayDesc,
EI.Target,
EI.PageTabID
FROM EventItems EI
INNER JOIN ClientEvents CE on CE.ID = EI.ClientEventsID
INNER JOIN SiteContent SC on SC.CopySourceID = CE.ContentID and SC.CopyBatchGUID = @CopyBatchGUID
INNER JOIN ClientEvents CE2 on CE2.ContentID = SC.ID
LEFT JOIN SitePages SP on CAST(SP.CopySourceID AS NVARCHAR(1024)) = EI.PageLink and SP.CopyBatchGUID = @CopyBatchGUID
--269040: Added the 'BackOfficeID' condition to the 'EventItems EI2' join
INSERT INTO EventItemPrices
(
EventItemsID,
BackOfficeID,
Description,
NumParticipants,
Publish,
AllowAnonRegistrants,
MaxUnitsPerTxn
)
SELECT
EI2.ID,
EIP.BackOfficeID,
EIP.Description,
EIP.NumParticipants,
EIP.Publish,
EIP.AllowAnonRegistrants,
EIP.MaxUnitsPerTxn
FROM EventItemPrices EIP
INNER JOIN EventItems EI on EI.ID = EIP.EventItemsID
INNER JOIN ClientEvents CE on CE.ID = EI.ClientEventsID
INNER JOIN SiteContent SC on SC.CopySourceID = CE.ContentID and SC.CopyBatchGUID = @CopyBatchGUID
INNER JOIN ClientEvents CE2 on CE2.ContentID = SC.ID
INNER JOIN EventItems EI2 on EI2.ClientEventsID = CE2.ID and EI2.BackOfficeID = EI.BackOfficeID
--Update XML Data
declare @Data xml
set @Data =
(
select P.SiteContentID, CE.ID as Value
from dbo.UFN_GETXMLPROPERTYFORSITECOPY(@CopyBatchGuid,47, 'ClientEventsID') P
inner join dbo.ClientEvents CE on CE.ContentID = P.SiteContentID
FOR XML RAW, ELEMENTS
)
exec USP_UPDATEXMLPROPERTYFORSITECOPY 'ClientEventsID', @Data