UFN_EVENT_CONFLICTSWITHMANAGEMENTLEVELINSTANCE_2

REPLACE_WITH_DESCRIPTION

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@EVENTMANAGEMENTINSTANCEID uniqueidentifier IN
@COPYTASKSANDCOORDINATORS bit IN
@COPYREGISTRANTSANDOPTIONS bit IN
@COPYSPEAKERS bit IN
@COPYEXPENSES bit IN
@COPYINVITATIONS bit IN
@COPYAPPEALS bit IN
@COPYDOCUMENTATION bit IN
@COPYJOBOCCURRENCES bit IN
@COPYLODGINGOPTIONS bit IN

Definition

Copy


CREATE function dbo.UFN_EVENT_CONFLICTSWITHMANAGEMENTLEVELINSTANCE_2
(
    @EVENTID uniqueidentifier,
    @EVENTMANAGEMENTINSTANCEID uniqueidentifier,
    @COPYTASKSANDCOORDINATORS bit = null,
    @COPYREGISTRANTSANDOPTIONS bit = null,
    @COPYSPEAKERS bit = null,
    @COPYEXPENSES bit = null,
    @COPYINVITATIONS bit = null,
    @COPYAPPEALS bit = null,
    @COPYDOCUMENTATION bit = null,
    @COPYJOBOCCURRENCES bit = null,
    @COPYLODGINGOPTIONS bit = null
    --,@COPYCAMPAIGNS bit = null

)
returns bit
with execute as caller
as begin

    declare @EVENTMANAGEMENTLEVELINSTANCEID uniqueidentifier;
    select 
        @EVENTMANAGEMENTLEVELINSTANCEID = EVENTMANAGEMENTLEVELINSTANCE.ID 
    from 
        dbo.EVENTMANAGEMENTLEVELINSTANCE 
        inner join dbo.EVENTHIERARCHY on EVENTHIERARCHY.ID = @EVENTID
    where 
        EVENTMANAGEMENTLEVELINSTANCE.EVENTMANAGEMENTINSTANCEID = @EVENTMANAGEMENTINSTANCEID 
        and EVENTMANAGEMENTLEVELINSTANCE.LEVEL = EVENTHIERARCHY.HIERARCHYPATH.GetLevel()

    if    @COPYTASKSANDCOORDINATORS = 1
        and (
            exists (select 1 from dbo.EVENTTASK where EVENTID = @EVENTID)
            or exists (select 1 from dbo.EVENTCOORDINATOR where EVENTID = @EVENTID)
        )
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASTASKSANDCOORDINATORS = 0
        )
    begin
        return 1;
    end

    if    @COPYREGISTRANTSANDOPTIONS = 1
        and (
        exists (select 1 from dbo.REGISTRANT where EVENTID = @EVENTID)
        or exists (select 1 from dbo.EVENTPRICE where EVENTID = @EVENTID)
        or exists (select 1 from dbo.EVENTPREFERENCEGROUP where EVENTID = @EVENTID)
        )
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASREGISTRANTSANDOPTIONS = 0
        )
    begin
        return 1;
    end

    if    @COPYSPEAKERS = 1
        and exists (select 1 from dbo.EVENTSPEAKER where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASSPEAKERS = 0
        )
    begin
        return 1;
    end

    if    @COPYEXPENSES = 1
        and exists (select 1 from dbo.EVENTEXPENSE where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASEXPENSES = 0
        )
    begin
        return 1;
    end

    if    @COPYINVITATIONS = 1
        and exists (select 1 from dbo.INVITATION where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASINVITATIONS = 0
        )
    begin
        return 1;
    end

    if    @COPYAPPEALS = 1
        and exists (select 1 from dbo.EVENTAPPEAL where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASAPPEALS = 0
        )
    begin
        return 1;
    end

    if    @COPYDOCUMENTATION = 1
        and exists (select 1 from dbo.EVENTNOTE where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASDOCUMENTATION = 0
        )
    begin
        return 1;
    end

    if    @COPYJOBOCCURRENCES = 1
        and exists (select 1 from dbo.JOBOCCURRENCE where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASJOBOCCURRENCES = 0
        )
    begin
        return 1;
    end

    if    @COPYLODGINGOPTIONS = 1
        and exists (select 1 from dbo.EVENTLODGING where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASLODGINGOPTIONS = 0
        )
    begin
        return 1;
    end

    /*if @COPYCAMPAIGNS = 1
      and exists (select 1 from dbo.EVENTCAMPAIGN where EVENTID = @EVENTID)
        and exists (
            select 1 
            from dbo.EVENTMANAGEMENTLEVELINSTANCE 
            where 
                ID = @EVENTMANAGEMENTLEVELINSTANCEID
                and HASCAMPAIGNS = 0
        )
    begin
        return 1;
    end
    */

    return 0;
end