USP_DATALIST_GETTEAMMEMBERS
Get team members per team or team household per company team
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@IWTEAMID | uniqueidentifier | IN | iw team id |
@IWPARENTTEAMID | uniqueidentifier | IN | iwparentteamid |
@EVENTID | uniqueidentifier | IN | eventid |
@RECORDTYPECODE | tinyint | IN | recordtypecode |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_GETTEAMMEMBERS
(
@IWTEAMID uniqueidentifier = NULL,
@IWPARENTTEAMID uniqueidentifier = NULL,
@EVENTID uniqueidentifier = null,
@RECORDTYPECODE tinyint = 0
)
as
begin
set nocount on;
--Pull list of team members or household members for that teamid
if (@IWTEAMID IS NOT NULL AND @IWPARENTTEAMID IS NULL AND @EVENTID IS NOT NULL AND @RECORDTYPECODE <> 0)
begin
select
R.ID AS REGISTRANTID
,ISNULL(dbo.UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL(R.ID,R.EVENTID),0) AS DONATIONAMOUNT
,dbo.UFN_REGISTRANT_GETNAME(R.ID) AS TEAMMEMBERNAME
,R.CONSTITUENTID AS CONSTITUENTID
, R.EVENTID
, TFT.NAME AS TEAMNAME
, TFT.ID AS TEAMID
, TFT.PARENTTEAMID
, 0 AS ROLECODE
, RE.ISPRIVATE
, dbo.UFN_FAFEVENT_GETPARTICIPANTDONORSCOUNT(@EVENTID, R.CONSTITUENTID) AS NUMOFDONORS
, (CASE WHEN R.CONSTITUENTID=(SELECT DISTINCT TFTC.CONSTITUENTID FROM TEAMFUNDRAISINGTEAMCAPTAIN TFTC WHERE TFTC.TEAMFUNDRAISINGTEAMID=@IWTEAMID AND TFTC.CONSTITUENTID=R.CONSTITUENTID) THEN 1 ELSE 0 END) AS ISGROUPLEADER
FROM REGISTRANT R
LEFT JOIN TEAMFUNDRAISER TFR ON R.CONSTITUENTID = TFR.CONSTITUENTID
LEFT JOIN REGISTRANTEXTENSION RE ON R.ID=RE.REGISTRANTID
LEFT JOIN TEAMFUNDRAISINGTEAMMEMBER TFTM ON TFR.ID = TFTM.TEAMFUNDRAISERID
LEFT JOIN TEAMFUNDRAISINGTEAM TFT ON TFTM.TEAMFUNDRAISINGTEAMID = TFT.ID
WHERE TFT.ID=@IWTEAMID
AND R.EVENTID=@EVENTID
ORDER BY R.DATEADDED
END
--Pull list of teams or households for that paranteamid (per company)
ELSE IF (@IWPARENTTEAMID IS NOT NULL AND @IWTEAMID IS NULL AND @EVENTID IS NOT NULL AND @RECORDTYPECODE <> 0)
BEGIN
SELECT
NULL AS REGISTRANTID
--,(select AMOUNTRAISED from UFN_FAF_GROUPTOTALSROLLUP(TE.EVENTID, TFT.ID)) AS DONATIONAMOUNT
, (select TOTALFUNDRAISE from dbo.FAFGROUPSUMMARYINFORMATION where ID = TFT.ID and EVENTID = TE.EVENTID) As DONATIONAMOUNT
,NULL AS TEAMMEMBERNAME
,TE.TEAMCONSTITUENTID AS CONSTITUENTID
,TE.EVENTID
, TFT.NAME AS TEAMNAME
, TFT.ID AS TEAMID
, TFT.PARENTTEAMID
, TE.TYPECODE AS ROLECODE
, dbo.UFN_FAFEVENT_GETGROUPPAGEPRIVACYFROMGROUPLEADER(TFT.ID,3) AS ISPRIVATE
,dbo.UFN_FAFEVENT_GETPARTICIPANTDONORSCOUNT(@EVENTID, TE.TEAMCONSTITUENTID) AS NUMOFDONORS
, 0 AS ISGROUPLEADER
FROM TEAMFUNDRAISINGTEAM TFT INNER JOIN TEAMEXTENSION TE ON TFT.ID = TE.TEAMFUNDRAISINGTEAMID
WHERE TFT.PARENTTEAMID=@IWPARENTTEAMID AND TE.STATUS <> 'pending'
AND TE.EVENTID=@EVENTID
END
--Pull list of donors whom do general donation to team/household/company
-- Added rollup per registrant so we avoid duplicate names in the donors
-- list in the widget.
ELSE IF (@IWTEAMID IS NOT NULL AND @IWPARENTTEAMID IS NULL AND @EVENTID IS NOT NULL AND @RECORDTYPECODE = 0)
BEGIN
declare @TEAMCONSTITUENTID uniqueidentifier = null
selecT @TEAMCONSTITUENTID = TEAMCONSTITUENTID
from dbo.TEAMEXTENSION (nolock)
where TEAMFUNDRAISINGTEAMID = @IWTEAMID
select
NULL AS REGISTRANTID
,sum(isnull(EVENT_REVENUE.[ORIGINAL AMOUNT],0)) AS DONATIONAMOUNT
,C.NAME AS TEAMMEMBERNAME
,C.ID AS CONSTITUENTID
,@EVENTID AS EVENTID
,NULL AS TEAMNAME
,@IWTEAMID AS TEAMID
,NULL AS PARENTTEAMID
,@RECORDTYPECODE AS ROLECODE
,0 AS ISPRIVATE
,dbo.UFN_FAFEVENT_GETPARTICIPANTDONORSCOUNT(@EVENTID, @TEAMCONSTITUENTID) AS NUMOFDONORS
, 0 AS ISGROUPLEADER
from [dbo].[UFN_REVENUE_EVENT](@EVENTID) AS EVENT_REVENUE
inner join REVENUERECOGNITION
on REVENUERECOGNITION.CONSTITUENTID <> EVENT_REVENUE.CONSTITUENTID
and REVENUERECOGNITION.REVENUESPLITID = EVENT_REVENUE.REVENUESPLITID
inner join REVENUESPLIT RS (nolock)
on RS.ID=EVENT_REVENUE.REVENUESPLITID
inner join REVENUE R (nolock)
on R.ID=RS.REVENUEID
inner join CONSTITUENT C (nolock)
on C.ID=R.CONSTITUENTID
where REVENUERECOGNITION.CONSTITUENTID = @TEAMCONSTITUENTID
group by
C.NAME
,C.ID
end
end