USP_EVENTMANAGEMENTTEMPLATE_CREATEINSTANCE

Creates an event management instance from a template.

Parameters

Parameter Parameter Type Mode Description
@EVENTMANAGEMENTTEMPLATEID uniqueidentifier IN
@EVENTMANAGEMENTINSTANCEID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_EVENTMANAGEMENTTEMPLATE_CREATEINSTANCE
(
    @EVENTMANAGEMENTTEMPLATEID uniqueidentifier,
    @EVENTMANAGEMENTINSTANCEID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier
)
as
begin

    declare @CURRENTDATE datetime = getdate();

    if @EVENTMANAGEMENTINSTANCEID is null
        set @EVENTMANAGEMENTINSTANCEID = newid();

    insert into dbo.EVENTMANAGEMENTINSTANCE (
        ID,    
        NAME, 
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED
    )
    select
        @EVENTMANAGEMENTINSTANCEID,
        NAME,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE
    from
        dbo.EVENTMANAGEMENTTEMPLATE
    where
        EVENTMANAGEMENTTEMPLATE.ID = @EVENTMANAGEMENTTEMPLATEID;

    -- generate the property level instances from the template

    insert into dbo.EVENTMANAGEMENTLEVELINSTANCE (
        ID,
        EVENTMANAGEMENTINSTANCEID,
        NAME,
        LEVEL,
        HASREGISTRANTSANDOPTIONS,
        HASSPEAKERS,
        HASEXPENSES,
        HASINVITATIONS,
        HASTASKSANDCOORDINATORS,
        HASLODGINGOPTIONS,
        HASJOBOCCURRENCES,
        HASAPPEALS,
        HASDOCUMENTATION,
        HASCAMPAIGNS,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED
    )
    select
        newid(),
        @EVENTMANAGEMENTINSTANCEID,
        NAME,
        LEVEL,
        HASREGISTRANTSANDOPTIONS,
        HASSPEAKERS,
        HASEXPENSES,
        HASINVITATIONS,
        HASTASKSANDCOORDINATORS,
        HASLODGINGOPTIONS,
        HASJOBOCCURRENCES,
        HASAPPEALS,
        HASDOCUMENTATION,
        HASCAMPAIGNS,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED
    from
        dbo.EVENTMANAGEMENTLEVELTEMPLATE
    where
        EVENTMANAGEMENTLEVELTEMPLATE.EVENTMANAGEMENTTEMPLATEID = @EVENTMANAGEMENTTEMPLATEID;

    return 0;
end