USP_DATALIST_FAFEVENTIINFORMATIONWIDGET
Get info for Participant Information Widget
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@IWREGISTRANTID | uniqueidentifier | IN | REGISTRANT ID |
@IWTEAMID | uniqueidentifier | IN | team id |
@IWRECORDTYPE | tinyint | IN | Record type |
@EVENTID | uniqueidentifier | IN | Event id |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FAFEVENTIINFORMATIONWIDGET
(
@IWREGISTRANTID uniqueidentifier = NULL
,@IWTEAMID uniqueidentifier = NULL
,@IWRECORDTYPE tinyint = 0 -- 1:Team, 3:Household, 2:Company
,@EVENTID uniqueidentifier = NULL
)
as
begin
set nocount on ;
declare @IWCONSTITUENTID uniqueidentifier
declare @PARTICIPANTNAME nvarchar(200)
declare @NUMOFDONOR integer
declare @TOTALDONATION money
declare @TEAMNAME nvarchar(200)
declare @NUMOFCOMPANYMEMBER integer
declare @NUMOFTEAM integer
declare @NUMOFHOUSEHOLD integer
declare @NUMOFNOTEAMINDIVIDUAL integer
declare @NUMOFTEAMMEMBER integer
declare @NUMOFHOUSEHOLDMEMBER integer
declare @REGISTRANTRAISED money
declare @TEAMRAISED money
declare @COMPANIESRAISED money
declare @TEAMDONATION money
declare @REGISTRANTDONATION money
declare @HISTORYEVENTPARTICIPATED integer = 0
declare @HISTORYMEMBER integer = 0
declare @HISTORYNUMOFTEAM integer = 0
declare @HISTORYNUMOFDONOR integer = 0
declare @HISTORYTOTALDONATION money = 0
declare @RECORDTYPECODE tinyint = 0
declare @PARENTTEAMID uniqueidentifier = null
declare @PARENTTEAMNAME nvarchar(200)
declare @PARENTTEAMTYPECODE tinyint = 0
declare @PRIORYEAREVENTID uniqueidentifier = null
declare @PRIORTEAMID uniqueidentifier
select @PRIORYEAREVENTID = PRIORYEAREVENTID
from dbo.EVENTEXTENSION (nolock) where EVENTID = @EVENTID;
--Join as team participant page
IF ( @IWRECORDTYPE = 0 AND @IWREGISTRANTID IS NOT NULL )
begin
select
@PARTICIPANTNAME = isnull(C.FIRSTNAME + ' ' , '') + C.KEYNAME ,
@IWCONSTITUENTID = R.CONSTITUENTID
from dbo.REGISTRANT R (nolock)
LEFT JOIN dbo.CONSTITUENT C (nolock) ON R.CONSTITUENTID = C.ID
where R.ID = @IWREGISTRANTID;
-- to support pledge recognition
select @NUMOFDONOR=DONORCOUNT, @TOTALDONATION=AMOUNTRAISED from dbo.UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL_2(@EVENTID) where CONSTITUENTID=@IWCONSTITUENTID
-- History: numbers are calculated base on previous linked event (only one) which this CONSTITUENT joined
if ( @PRIORYEAREVENTID IS NOT NULL )
begin
select @HISTORYNUMOFDONOR=DONORCOUNT, @HISTORYTOTALDONATION=AMOUNTRAISED from dbo.UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL_2(@PRIORYEAREVENTID) where CONSTITUENTID=@IWCONSTITUENTID
select @HISTORYEVENTPARTICIPATED = count(*) -- 1 or 0
FROM REGISTRANT WHERE EVENTID = @PRIORYEAREVENTID AND CONSTITUENTID = @IWCONSTITUENTID
if (@IWTEAMID IS NOT NULL)
select @HISTORYMEMBER = MEMBERCOUNT from dbo.UFN_FAF_GROUPTOTALSROLLUP(@PRIORYEAREVENTID, @IWTEAMID)
end
if (@IWTEAMID IS NOT NULL)
begin
--GET TEAM NAME INFO FROM ONE REGISTRANT, WE ACUTALLY DON'T NEED TO GET PARA IWTEAMID. WE can get teamid from registranid
select
@TEAMNAME = isnull ( TFT.NAME , '' ) ,
@IWTEAMID = TFT.ID ,
@PARENTTEAMID = TFT.PARENTTEAMID ,
@RECORDTYPECODE = isnull ( TE.TYPECODE , 1 ) ,
@PARENTTEAMNAME = TFT2.NAME
from REGISTRANT R (nolock)
left join TEAMFUNDRAISER TFR (nolock) ON R.CONSTITUENTID = TFR.CONSTITUENTID
left join TEAMFUNDRAISINGTEAMMEMBER TFTM (nolock) ON TFR.ID = TFTM.TEAMFUNDRAISERID
left join TEAMFUNDRAISINGTEAM TFT (nolock) ON TFTM.TEAMFUNDRAISINGTEAMID = TFT.ID
left join TEAMEXTENSION TE (nolock) ON TFTM.TEAMFUNDRAISINGTEAMID = TE.TEAMFUNDRAISINGTEAMID
left join TEAMFUNDRAISINGTEAM TFT2 (nolock) ON TFT2.ID = TFT.PARENTTEAMID
where R.ID = @IWREGISTRANTID
AND R.EVENTID = @EVENTID AND TE.EVENTID = @EVENTID;
--GET NUM OF TEAMMEMBER
select @NUMOFTEAMMEMBER = COUNT(ID)
from dbo.TEAMFUNDRAISINGTEAMMEMBER (nolock) where TEAMFUNDRAISINGTEAMID = @IWTEAMID;
end
end
--Join as team/company/household participant page
else if ( @IWRECORDTYPE > 0 AND @IWREGISTRANTID IS NULL AND @IWTEAMID IS NOT NULL )
BEGIN
--GET TEAM NAME INFO FROM team record
select
@TEAMNAME = ISNULL ( TFT.NAME , '' ) ,
@IWTEAMID = TFT.ID ,
@PARENTTEAMID = TFT.PARENTTEAMID ,
@RECORDTYPECODE = ISNULL ( TE.TYPECODE , 1 ) ,
@IWCONSTITUENTID = TE.TEAMCONSTITUENTID ,
@PARENTTEAMNAME = TFT2.NAME
from TEAMFUNDRAISINGTEAM TFT (nolock)
inner join TEAMEXTENSION TE (nolock) ON TFT.ID = TE.TEAMFUNDRAISINGTEAMID
left join TEAMFUNDRAISINGTEAM TFT2 (nolock) ON TFT2.ID = TFT.PARENTTEAMID
where TFT.ID = @IWTEAMID AND TE.EVENTID = @EVENTID;
--GET NUM OF TEAMMEMBER
select @NUMOFTEAMMEMBER = MEMBERCOUNT from dbo.UFN_FAF_GROUPTOTALSROLLUP(@EVENTID, @IWTEAMID)
--Get TEAM CAPTAIN REGISTRANTID AND CONSTITUENTID
SELECT @PARTICIPANTNAME = dbo.UFN_REGISTRANT_GETNAME ( R.ID ) ,
@IWREGISTRANTID = R.ID
FROM TEAMFUNDRAISINGTEAMCAPTAIN TFTC (nolock)
LEFT JOIN REGISTRANT R (nolock) ON TFTC.CONSTITUENTID = R.CONSTITUENTID
WHERE TFTC.TEAMFUNDRAISINGTEAMID = @IWTEAMID;
--select @NUMOFDONOR = DONORCOUNT, @TOTALDONATION = AMOUNTRAISED
-- from dbo.UFN_FAF_GROUPTOTALSROLLUP(@EVENTID, @IWTEAMID);
-- use new table FAFGROUPSUMMARYINFORMATION
Select @NUMOFDONOR = TOTALDONORCOUNT, @TOTALDONATION = TOTALFUNDRAISE from dbo.FAFGROUPSUMMARYINFORMATION
where ID = @IWTEAMID and EVENTID = @EVENTID
IF ( @PRIORYEAREVENTID IS NOT NULL )
begin
select @PRIORTEAMID = tft.ID
from TEAMFUNDRAISINGTEAM tft
left outer join TEAMEXTENSION te ON tft.ID = te.TEAMFUNDRAISINGTEAMID
where te.TEAMCONSTITUENTID = @IWCONSTITUENTID and te.EVENTID = @PRIORYEAREVENTID;
SELECT @HISTORYEVENTPARTICIPATED = count(*)
FROM TEAMFUNDRAISINGTEAM tft1
left outer join TEAMEXTENSION te on tft1.ID = te.TEAMFUNDRAISINGTEAMID
left outer join TEAMEXTENSION te2 on te.TEAMCONSTITUENTID = te2.TEAMCONSTITUENTID
WHERE tft1.ID = @IWTEAMID AND te2.EVENTID = @PRIORYEAREVENTID;
select @HISTORYNUMOFDONOR = DONORCOUNT, @HISTORYTOTALDONATION = AMOUNTRAISED, @HISTORYMEMBER = MEMBERCOUNT
from UFN_FAF_GROUPTOTALSROLLUP(@PRIORYEAREVENTID, @PRIORTEAMID)
IF ( @IWRECORDTYPE = 2 ) --company
BEGIN
--Only get teams not households
SELECT @HISTORYNUMOFTEAM = count(*)
FROM TEAMFUNDRAISINGTEAM tft
left outer join TEAMEXTENSION te on tft.ID = te.TEAMFUNDRAISINGTEAMID
WHERE tft.PARENTTEAMID = @PRIORTEAMID and te.TYPECODE = 1;
end
end
end
Select @PARENTTEAMTYPECODE = TYPECODE from TEAMEXTENSION where TEAMFUNDRAISINGTEAMID = @PARENTTEAMID
--Return values or output fields
select
@IWREGISTRANTID AS REGISTRANTID ,
@IWTEAMID AS TEAMID ,
@PARTICIPANTNAME AS PARTICIPANTNAME ,
isnull ( @NUMOFDONOR , 0 ) AS NUMOFDONOR ,
isnull ( @TOTALDONATION , 0 ) AS TOTALDONATION ,
isnull ( @NUMOFCOMPANYMEMBER , 0 ) AS NUMOFCOMPANYMEMBER ,
isnull ( @NUMOFTEAM , 0 ) AS NUMOFTEAM ,
isnull ( @NUMOFHOUSEHOLD , 0 ) AS NUMOFHOUSEHOLD ,
isnull ( @NUMOFNOTEAMINDIVIDUAL , 0 ) AS NUMOFNOTEAMINDIVIDUAL ,
isnull ( @NUMOFTEAMMEMBER , 0 ) AS NUMOFTEAMMEMBER ,
isnull ( @NUMOFHOUSEHOLDMEMBER , 0 ) AS NUMOFHOUSEHOLDMEMBER ,
isnull ( @HISTORYEVENTPARTICIPATED , 0 ) AS HISTORYEVENTPARTICIPATED ,
isnull ( @HISTORYMEMBER , 0 ) AS HISTORYMEMBER ,
isnull ( @HISTORYNUMOFTEAM , 0 ) AS HISTORYNUMOFTEAM ,
isnull ( @HISTORYNUMOFDONOR , 0 ) AS HISTORYNUMOFDONOR ,
isnull ( @HISTORYTOTALDONATION , 0 ) AS HISTORYTOTALDONATION ,
@TEAMNAME AS TEAMNAME ,
@RECORDTYPECODE AS RECORDTYPECODE ,
@PARENTTEAMNAME AS PARENTTEAMNAME ,
@PARENTTEAMID AS PARENTTEAMID ,
@IWCONSTITUENTID AS CONSTITUENTID ,
@EVENTID AS EVENTID,
@PARENTTEAMTYPECODE As PARENTTEAMTYPECODE;
end