USP_CLONESITE_SURVEY

Handles the Survey-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_SURVEY
(
@SourceClientSitesID int,
@TargetClientSitesID int,
@CurrentUserID int,
@CopyBatchGuid uniqueidentifier
)
as


    insert into dbo.SiteSurveys(ID,ClientSitesID,Title,TitleVisible,SubTitle,SubTitleVisible,LastActivityDate,PrevButtonVisible,ExitButtonVisible,AllowMultipleSubmit,OnSubmitMsg,AllowViewResults,State,ClosedMsg,SubmitButtonText,NextButtonText,PrevButtonText,ExitButtonText)
    select
    SC.ID,
    SC.ClientSitesID,
    SV.Title,
    SV.TitleVisible,
    SV.SubTitle,
    SV.SubTitleVisible,
    SV.LastActivityDate,
    SV.PrevButtonVisible,
    SV.ExitButtonVisible,
    SV.AllowMultipleSubmit,
    SV.OnSubmitMsg,
    SV.AllowViewResults,
    SV.State,
    SV.ClosedMsg,
    SV.SubmitButtonText,
    SV.NextButtonText,
    SV.PrevButtonText,
    SV.ExitButtonText
    from dbo.SiteSurveys SV
    inner join dbo.SiteContent SC on SC.CopySourceID = SV.ID
    where SC.CopyBatchGUID = @CopyBatchGuid

    insert into dbo.SiteSurveyQuestions(SiteSurveysId,SiteSurveyQuestionTypesId,Sequence,Page,LinkText,Question,SubTitle,RandomizeAnswers,Mandatory,MaxAnswerLen,LastActivityDate,ConstantSumValue,SkipAutoNbr)
    select
    SC.ID,
    ssq.SiteSurveyQuestionTypesId,
    SSQ.Sequence,
    SSQ.Page,
    SSQ.LinkText,
    SSQ.Question,
    SSQ.SubTitle,
    SSQ.RandomizeAnswers,
    SSQ.Mandatory,
    SSQ.MaxAnswerLen,
    SSQ.LastActivityDate,
    SSQ.ConstantSumValue,
    SSQ.SkipAutoNbr
    from dbo.SiteSurveyQuestions SSQ
    inner join dbo.SiteContent SC on SC.CopySourceID = SSQ.SiteSurveysId
    where SC.CopyBatchGUID = @CopyBatchGuid

    insert into dbo.SiteSurveyAnswers(SiteSurveyQuestionsId,Sequence,Answer,NextQuestionId)
    select
    NEWSSQ.ID,
    SSA.Sequence,
    SSA.Answer,
    SSA.NextQuestionId
    from dbo.SiteSurveyAnswers SSA
    inner join dbo.SiteSurveyQuestions OLDSSQ on OLDSSQ.ID = SSA.SiteSurveyQuestionsId
    inner join dbo.SiteContent SC on SC.CopySourceID = OLDSSQ.SiteSurveysId
    inner join dbo.SiteSurveyQuestions NEWSSQ on NEWSSQ.SiteSurveysId = SC.ID and NEWSSQ.Sequence = OLDSSQ.Sequence and NEWSSQ.Page = OLDSSQ.Page
    where SC.CopyBatchGUID = @CopyBatchGuid

    insert into dbo.SiteSurveyAnswerColumns(SiteSurveyQuestionsId,Sequence,ColumnName)
    select
    NEWSSQ.ID,
    SSAC.Sequence,
    SSAC.ColumnName
    from dbo.SiteSurveyAnswerColumns SSAC
    inner join dbo.SiteSurveyQuestions OLDSSQ on OLDSSQ.ID = SSAC.SiteSurveyQuestionsId
    inner join dbo.SiteContent SC on SC.CopySourceID = OLDSSQ.SiteSurveysId
    inner join dbo.SiteSurveyQuestions NEWSSQ on NEWSSQ.SiteSurveysId = SC.ID and NEWSSQ.Sequence = OLDSSQ.Sequence and NEWSSQ.Page = OLDSSQ.Page
    where SC.CopyBatchGUID = @CopyBatchGuid

    insert into dbo.SiteSurveyAnswerColumnData(SiteSurveyAnswerColumnsId,Sequence,Data)
    select
    NEWSSAC.ID,
    SSACD.Sequence,
    SSACD.Data
    from dbo.SiteSurveyAnswerColumnData SSACD
    inner join dbo.SiteSurveyAnswerColumns OLDSSAC on OLDSSAC.ID = SSACD.SiteSurveyAnswerColumnsId
    inner join dbo.SiteSurveyQuestions OLDSSQ on OLDSSQ.ID = OLDSSAC.SiteSurveyQuestionsId
    inner join dbo.SiteContent SC on SC.CopySourceID = OLDSSQ.SiteSurveysId
    inner join dbo.SiteSurveyQuestions NEWSSQ on NEWSSQ.SiteSurveysId = SC.ID and NEWSSQ.Sequence = OLDSSQ.Sequence and NEWSSQ.Page = OLDSSQ.Page
    inner join dbo.SiteSurveyAnswerColumns NEWSSAC on NEWSSAC.SiteSurveyQuestionsId = NEWSSQ.ID and NEWSSAC.Sequence = OLDSSAC.Sequence
    where SC.CopyBatchGUID = @CopyBatchGuid