USP_DATAFORMTEMPLATE_VIEW_EVENTPROFILE_3
The load procedure used by the view dataform template "Event Summary View Form 3"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@NAME | nvarchar(205) | INOUT | Name |
@STARTDATE | date | INOUT | Event date |
@ENDDATE | date | INOUT | Event date |
@LOCATION | nvarchar(100) | INOUT | Location |
@LOCATIONCONTACT | nvarchar(700) | INOUT | Contact |
@EVENTLOCATIONCONTACTID | uniqueidentifier | INOUT | EVENTLOCATIONCONTACTID |
@CAPACITY | int | INOUT | Event capacity |
@WILLATTENDCOUNT | int | INOUT | Will attend |
@WILLNOTATTENDCOUNT | int | INOUT | Will not attend |
@PERCENTOFCAPACITY | decimal(10, 2) | INOUT | Percent of capacity |
@ATTENDEDCOUNT | int | INOUT | Attended |
@BUDGETEDEXPENSE | money | INOUT | Expense budget |
@ACTUALEXPENSE | money | INOUT | Agreed expenses |
@PERCENTOFBUDGET | decimal(10, 2) | INOUT | Percent of budget |
@SUPPORTINGEVENTSCOUNT | int | INOUT | SUPPORTINGEVENTSCOUNT |
@MAINEVENTNAME | nvarchar(100) | INOUT | Main Event |
@ISACTIVE | bit | INOUT | ISACTIVE |
@SITE | nvarchar(max) | INOUT | Site |
@COORDINATOR | nvarchar(700) | INOUT | Coordinator |
@COORDINATORID | uniqueidentifier | INOUT | Coordinator ID |
@CATEGORY | nvarchar(100) | INOUT | Category |
@GIFTAIDQUALIFICATIONSTATUS | nvarchar(25) | INOUT | Gift Aid status |
@LOCATIONROOM | nvarchar(100) | INOUT | Room/Unit |
@HASCOORDINATORS | bit | INOUT | HASCOORDINATORS |
@LOOKUPID | nvarchar(36) | INOUT | Lookup ID |
@BUDGETEDEXPENSESUBEVENTS | money | INOUT | Expense budget |
@ACTUALEXPENSESUBEVENTS | money | INOUT | Agreed expenses |
@PERCENTOFBUDGETSUBEVENTS | decimal(10, 2) | INOUT | Percent of budget |
@CAPACITYSUBEVENTS | int | INOUT | Event capacity |
@WILLATTENDCOUNTSUBEVENTS | int | INOUT | Will attend |
@WILLNOTATTENDCOUNTSUBEVENTS | int | INOUT | Will not attend |
@ATTENDEDCOUNTSUBEVENTS | int | INOUT | Attended |
@PERCENTOFCAPACITYSUBEVENTS | decimal(10, 2) | INOUT | Percent of capacity |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ISMULTILEVEL | bit | INOUT | Is multi-level event |
@AMOUNTPAID | money | INOUT | Amount paid |
@AMOUNTPAIDSUBEVENTS | money | INOUT | Amount paid |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency |
@STARTTIME | UDT_HOURMINUTE | INOUT | Start time |
@ENDTIME | UDT_HOURMINUTE | INOUT | End time |
@HASEXPENSES | bit | INOUT | |
@SUBEVENTHASEXPENSES | bit | INOUT | |
@HASREGISTRANTSANDOPTIONS | bit | INOUT | |
@SUBEVENTHASREGISTRANTSANDOPTIONS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_EVENTPROFILE_3
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@NAME nvarchar(205) = null output,
@STARTDATE date = null output,
@ENDDATE date = null output,
@LOCATION nvarchar(100) = null output,
@LOCATIONCONTACT nvarchar(700) = null output,
@EVENTLOCATIONCONTACTID uniqueidentifier = null output,
@CAPACITY int = null output,
@WILLATTENDCOUNT int = null output,
@WILLNOTATTENDCOUNT int = null output,
@PERCENTOFCAPACITY decimal(10, 2) = null output,
@ATTENDEDCOUNT int = null output,
@BUDGETEDEXPENSE money = null output,
@ACTUALEXPENSE money = null output,
@PERCENTOFBUDGET decimal(10, 2) = null output,
@SUPPORTINGEVENTSCOUNT int = null output,
@MAINEVENTNAME nvarchar(100) = null output,
@ISACTIVE bit = null output,
@SITE nvarchar(max) = null output,
@COORDINATOR nvarchar(700) = null output,
@COORDINATORID uniqueidentifier = null output,
@CATEGORY nvarchar(100) = null output,
@GIFTAIDQUALIFICATIONSTATUS nvarchar(25) = null output,
@LOCATIONROOM nvarchar(100) = null output,
@HASCOORDINATORS bit = null output,
@LOOKUPID nvarchar(36) = null output,
@BUDGETEDEXPENSESUBEVENTS money = null output,
@ACTUALEXPENSESUBEVENTS money = null output,
@PERCENTOFBUDGETSUBEVENTS decimal(10, 2) = null output,
@CAPACITYSUBEVENTS int = null output,
@WILLATTENDCOUNTSUBEVENTS int = null output,
@WILLNOTATTENDCOUNTSUBEVENTS int = null output,
@ATTENDEDCOUNTSUBEVENTS int = null output,
@PERCENTOFCAPACITYSUBEVENTS decimal(10, 2) = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@ISMULTILEVEL bit = null output,
@AMOUNTPAID money = null output,
@AMOUNTPAIDSUBEVENTS money = null output,
@BASECURRENCYID uniqueidentifier = null output,
@STARTTIME dbo.UDT_HOURMINUTE = null output,
@ENDTIME dbo.UDT_HOURMINUTE = null output,
@HASEXPENSES bit = null output,
@SUBEVENTHASEXPENSES bit = null output,
@HASREGISTRANTSANDOPTIONS bit = null output,
@SUBEVENTHASREGISTRANTSANDOPTIONS bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
create table #CHILDEVENTSWITHSITEACCESS (ID uniqueidentifier);
insert into #CHILDEVENTSWITHSITEACCESS select ID from dbo.UFN_CHILDEVENTSWITHSITEACCESS(@ID, @CURRENTAPPUSERID);
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYEXCHANGERATEID uniqueidentifier;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @NONCANCELLEDREGISTRANTS table (
ID uniqueidentifier,
WILLNOTATTEND bit,
ATTENDED bit
);
insert into @NONCANCELLEDREGISTRANTS (ID, WILLNOTATTEND, ATTENDED)
select REGISTRANT.ID, REGISTRANT.WILLNOTATTEND, REGISTRANT.ATTENDED
from dbo.REGISTRANT
where
REGISTRANT.EVENTID = @ID
and REGISTRANT.ISCANCELLED = 0;
with [CTE] as
(
select
EVENT.NAME,
EVENT.STARTDATE,
EVENT.ENDDATE,
EVENT.EVENTLOCATIONID,
(select EVENTLOCATIONROOM.NAME from dbo.EVENTLOCATIONROOM where EVENTLOCATIONROOM.ID = EVENT.EVENTLOCATIONROOMID) EVENTLOCATIONROOM,
EVENT.EVENTLOCATIONCONTACTID,
EVENT.CAPACITY,
(select count(ID) from @NONCANCELLEDREGISTRANTS where WILLNOTATTEND = 0) as [WILLATTEND],
(select count(ID) from @NONCANCELLEDREGISTRANTS where WILLNOTATTEND = 1) as [WILLNOTATTEND],
(select count(ID) from @NONCANCELLEDREGISTRANTS where ATTENDED = 1) as [ATTENDED],
coalesce((select count([SUPPORTINGEVENT].ID) from dbo.EVENT as [SUPPORTINGEVENT] where [SUPPORTINGEVENT].MAINEVENTID = EVENT.ID), 0) as [SUPPORTINGEVENTSCOUNT],
EVENT.MAINEVENTID,
EVENT.ISACTIVE,
(
select top 1 EVENTCOORDINATOR.CONSTITUENTID
from dbo.EVENTCOORDINATOR
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(EVENTCOORDINATOR.CONSTITUENTID) NF
where EVENTID = EVENT.ID
order by EVENTCOORDINATOR.ISPRIMARY desc, NF.NAME
) as [COORDINATORID],
EVENTCATEGORYCODE.DESCRIPTION,
EVENT.ID,
EVENT.LOOKUPID,
EVENT.BASECURRENCYID,
EVENT.STARTTIME,
EVENT.ENDTIME
from dbo.EVENT
left join dbo.EVENTCATEGORYCODE ON EVENT.EVENTCATEGORYCODEID = EVENTCATEGORYCODE.ID
where EVENT.ID = @ID
)
select
@DATALOADED = 1,
@NAME = [CTE].NAME,
@STARTDATE = [CTE].STARTDATE,
@ENDDATE = [CTE].ENDDATE,
@LOCATION = dbo.UFN_EVENTLOCATION_GETINFORMATION([CTE].EVENTLOCATIONID),
@LOCATIONROOM = [CTE].EVENTLOCATIONROOM,
@LOCATIONCONTACT = LOCATIONCONTACT_NF.NAME,
@EVENTLOCATIONCONTACTID = [CTE].EVENTLOCATIONCONTACTID,
@CAPACITY = [CTE].CAPACITY,
@WILLATTENDCOUNT = [CTE].WILLATTEND,
@WILLNOTATTENDCOUNT = [CTE].WILLNOTATTEND,
@PERCENTOFCAPACITY = case when [CTE].CAPACITY = 0 then cast(0 as decimal(10,2)) else cast(cast([CTE].WILLATTEND as decimal(10,2)) / cast([CTE].CAPACITY as decimal(10,2)) as decimal(10,2)) end,
@ATTENDEDCOUNT = [CTE].ATTENDED,
@SUPPORTINGEVENTSCOUNT = [CTE].SUPPORTINGEVENTSCOUNT,
@ISACTIVE = [CTE].ISACTIVE,
@SITE = (select
dbo.UDA_BUILDLIST(SITE.NAME)
FROM
dbo.SITE
inner join dbo.EVENTSITE ON EVENTSITE.SITEID = SITE.ID
where
EVENTSITE.EVENTID = @ID
),
@COORDINATORID = [CTE].COORDINATORID,
@COORDINATOR = coalesce(NF.NAME, N''),
@CATEGORY = [CTE].DESCRIPTION,
@LOOKUPID = [CTE].LOOKUPID,
@BASECURRENCYID = [CTE].BASECURRENCYID,
@STARTTIME = [CTE].STARTTIME,
@ENDTIME = [CTE].ENDTIME,
@HASEXPENSES = isnull(EVENTMANAGEMENTOPTIONS.HASEXPENSES, 1),
@HASREGISTRANTSANDOPTIONS = isnull(EVENTMANAGEMENTOPTIONS.HASREGISTRANTSANDOPTIONS, 1)
from [CTE]
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME([CTE].COORDINATORID) NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME([CTE].EVENTLOCATIONCONTACTID) LOCATIONCONTACT_NF
left join dbo.EVENTMANAGEMENTOPTIONS on EVENTMANAGEMENTOPTIONS.EVENTID = [CTE].ID;
select
@AMOUNTPAID = coalesce(sum(dbo.UFN_EVENTEXPENSE_GETAMOUNTPAIDINCURRENCY(EVENTEXPENSE.ID, @BASECURRENCYID)),0),
@BUDGETEDEXPENSE = coalesce(sum(dbo.UFN_EVENTEXPENSE_GETBUDGETEDAMOUNTINCURRENCY(EVENTEXPENSE.ID, @BASECURRENCYID)),0),
@ACTUALEXPENSE = coalesce(sum(dbo.UFN_EVENTEXPENSE_GETACTUALAMOUNTINCURRENCY(EVENTEXPENSE.ID, @BASECURRENCYID)),0)
from dbo.EVENTEXPENSE
where EVENTEXPENSE.EVENTID = @ID;
select @PERCENTOFBUDGET =
case
when @BUDGETEDEXPENSE = 0
then cast(0 as decimal(10,2))
else cast(cast(@ACTUALEXPENSE as decimal(10,2)) / cast(@BUDGETEDEXPENSE as decimal(10,2)) as decimal(10,2))
end;
set @HASCOORDINATORS = 1;
if exists(select 1 from dbo.EVENTMANAGEMENTOPTIONS where EVENTID = @ID and HASTASKSANDCOORDINATORS = 0)
set @HASCOORDINATORS = 0;
--Gift Aid is for UK only
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('9568A6C2-F7AA-45fd-8F54-21FE9654EE2D') = 1
begin
set @GIFTAIDQUALIFICATIONSTATUS = dbo.UFN_EVENTQUALIFICATIONSTATUS(@ID)
end
select
@AMOUNTPAIDSUBEVENTS = coalesce(sum(dbo.UFN_EVENTEXPENSE_GETAMOUNTPAIDINCURRENCY(EVENTEXPENSE.ID, @BASECURRENCYID)),0),
@BUDGETEDEXPENSESUBEVENTS = coalesce(sum(dbo.UFN_EVENTEXPENSE_GETBUDGETEDAMOUNTINCURRENCY(EVENTEXPENSE.ID, @BASECURRENCYID)),0),
@ACTUALEXPENSESUBEVENTS = coalesce(sum(dbo.UFN_EVENTEXPENSE_GETACTUALAMOUNTINCURRENCY(EVENTEXPENSE.ID, @BASECURRENCYID)),0)
from
#CHILDEVENTSWITHSITEACCESS EVENTS
left join dbo.EVENTEXPENSE on EVENTEXPENSE.EVENTID = EVENTS.ID
set @SUBEVENTHASEXPENSES = 0;
if exists (select 1 from #CHILDEVENTSWITHSITEACCESS EVENTS inner join dbo.EVENTMANAGEMENTOPTIONS on EVENTS.ID = EVENTMANAGEMENTOPTIONS.EVENTID where EVENTS.ID <> @ID and EVENTMANAGEMENTOPTIONS.HASEXPENSES = 1)
set @SUBEVENTHASEXPENSES = 1;
set @SUBEVENTHASREGISTRANTSANDOPTIONS = 0;
if exists (select 1 from #CHILDEVENTSWITHSITEACCESS EVENTS inner join dbo.EVENTMANAGEMENTOPTIONS on EVENTS.ID = EVENTMANAGEMENTOPTIONS.EVENTID where EVENTS.ID <> @ID and EVENTMANAGEMENTOPTIONS.HASREGISTRANTSANDOPTIONS = 1)
set @SUBEVENTHASREGISTRANTSANDOPTIONS = 1;
select @PERCENTOFBUDGETSUBEVENTS =
case
when @BUDGETEDEXPENSESUBEVENTS = 0
then cast(0 as decimal(10,2))
else cast(@ACTUALEXPENSESUBEVENTS as decimal(10,2)) / cast(@BUDGETEDEXPENSESUBEVENTS as decimal(10,2))
end;
set @WILLATTENDCOUNTSUBEVENTS = 0;
set @WILLNOTATTENDCOUNTSUBEVENTS = 0;
set @ATTENDEDCOUNTSUBEVENTS = 0;
select @CAPACITYSUBEVENTS = coalesce(sum(EVENT.CAPACITY),0)
from #CHILDEVENTSWITHSITEACCESS EVENTS
inner join dbo.EVENT on EVENTS.ID = EVENT.ID
select
@WILLATTENDCOUNTSUBEVENTS += (select count(REGISTRANT.ID) from dbo.REGISTRANT where REGISTRANT.EVENTID = EVENTS.ID and REGISTRANT.WILLNOTATTEND = 0 and dbo.[UFN_REGISTRANT_ISCANCELLED]([REGISTRANT].[ID]) = 0),
@WILLNOTATTENDCOUNTSUBEVENTS += (select count(REGISTRANT.ID) from dbo.REGISTRANT where REGISTRANT.EVENTID = EVENTS.ID and REGISTRANT.WILLNOTATTEND = 1 and dbo.[UFN_REGISTRANT_ISCANCELLED]([REGISTRANT].[ID]) = 0),
@ATTENDEDCOUNTSUBEVENTS += (select count(REGISTRANT.ID) from dbo.REGISTRANT where REGISTRANT.EVENTID = EVENTS.ID and REGISTRANT.ATTENDED = 1 and dbo.[UFN_REGISTRANT_ISCANCELLED]([REGISTRANT].[ID]) = 0),
@PERCENTOFCAPACITYSUBEVENTS = case when @CAPACITYSUBEVENTS = 0 then cast(0 as decimal(10,2)) else cast(@WILLATTENDCOUNTSUBEVENTS as decimal(10,2)) / cast(@CAPACITYSUBEVENTS as decimal(10,2)) end
from #CHILDEVENTSWITHSITEACCESS EVENTS
set @ISMULTILEVEL = 0
if exists(select 1 from dbo.EVENTMANAGEMENTOPTIONS where EVENTID = @ID)
begin
if exists(select ID from dbo.UFN_EVENT_GETALLEVENTSINHIERARCHY(@ID) where ID != @ID)
set @ISMULTILEVEL = 1;
end
drop table #CHILDEVENTSWITHSITEACCESS;
return 0;