USP_CLONESITE_EVENTCALENDAR

Handles the Event Calendar-specific tasks for cloning a 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_EVENTCALENDAR
(
@SourceClientSitesID int,
@TargetClientSitesID int,
@CurrentUserID int,
@CopyBatchGuid uniqueidentifier
)
as


INSERT INTO EventCalendar
(
        Name,
        CreateDate,
        SiteContentID,
        PersonalPageDataID,
        DefaultDisplayMode,
        ManagerRoles
)
SELECT EC.Name,
       getdate(),
       SC.ID,
       EC.PersonalPageDataID,
       EC.DefaultDisplayMode,
       EC.ManagerRoles
FROM EventCalendar EC
INNER JOIN SiteContent SC on SC.CopySourceID = EC.SiteContentID and SC.CopyBatchGUID = @CopyBatchGUID

INSERT INTO CalendarEvtCategoryPicks   
(
        EventCalendarID,
        CalendarCategoryPicksID,
        CategoryCodeTableEntryID
)
SELECT EC2.ID,
       newid(),
       CECP.CategoryCodeTableEntryID
FROM CalendarEvtCategoryPicks CECP
INNER JOIN EventCalendar EC on EC.ID = CECP.EventCalendarID
INNER JOIN SiteContent SC on SC.CopySourceID = EC.SiteContentID and SC.CopyBatchGUID = @CopyBatchGUID
INNER JOIN EventCalendar EC2 on EC2.SiteContentID = SC.ID

--Update XML Data for EventCalendarID

declare @Data xml
set @Data = 
(
    select P.SiteContentID, EC.ID as Value
    from dbo.UFN_GETXMLPROPERTYFORSITECOPY(@CopyBatchGuid,91, 'EventCalendarID') P
    inner join dbo.EventCalendar EC on EC.SiteContentID = P.SiteContentID
    FOR XML RAW, ELEMENTS
)    
exec USP_UPDATEXMLPROPERTYFORSITECOPY 'EventCalendarID', @Data

--Update XML Data for NewsChannelID

set @Data = 
(
    select P.SiteContentID, NC.ID as Value
    from dbo.UFN_GETXMLPROPERTYFORSITECOPY(@CopyBatchGuid,91, 'ClientNewsChannelID') P
    inner join dbo.NewsChannels NC on NC.SiteContentID = P.SiteContentID
    FOR XML RAW, ELEMENTS
)    
exec USP_UPDATEXMLPROPERTYFORSITECOPY 'ClientNewsChannelID', @Data