UFN_EVENT_CONFLICTSWITHMANAGEMENTLEVELINSTANCE
Returns true if the data in a given event conflicts with its event management level instance.
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
(
@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
)
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
return 0;
end