UFN_FAF_TEAMMEMBERLIST
This function takes the registrantID and return a list of members from the team that registrant belongs to
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_FAF_TEAMMEMBERLIST
(
@CONSTITUENTID uniqueidentifier = NULL
,@EVENTID uniqueidentifier = NULL
)
returns table
as
return
(
select
FNTEAM.TEAMNAME,
FNTEAM.TEAMID,
C.keyname,
C.name,
C.ID
from
dbo.TEAMFUNDRAISINGTEAMMEMBER TM
INNER JOIN dbo.UFN_FAF_GETTEAMINFO_BY_REGISTRANT(@CONSTITUENTID, @EVENTID) FNTEAM
ON TM.TEAMFUNDRAISINGTEAMID = FNTEAM.TEAMID
AND FNTEAM.TEAMTYPECODE = 1 --team
INNER JOIN dbo.TEAMFUNDRAISER TF
ON TM.TEAMFUNDRAISERID = TF.ID
INNER JOIN dbo.CONSTITUENT C
ON TF.CONSTITUENTID = C.ID
left outer join dbo.TEAMFUNDRAISINGTEAMCAPTAIN TC --exclude team leaders
on FNTEAM.TEAMID = TC.TEAMFUNDRAISINGTEAMID
and C.ID = TC.CONSTITUENTID
WHERE C.ID <> @CONSTITUENTID
and TC.TEAMFUNDRAISINGTEAMID is null
UNION --Also retrieve household leaders when team has households
select
FNTEAM.TEAMNAME,
FNTEAM.TEAMID,
C.keyname,
C.name,
C.ID
from TEAMFUNDRAISINGTEAM TFT
INNER JOIN TEAMEXTENSION TE
ON TFT.ID = TE.TEAMFUNDRAISINGTEAMID
AND TE.TYPECODE = 3 --households
INNER JOIN dbo.UFN_FAF_GETTEAMINFO_BY_REGISTRANT(@CONSTITUENTID, @EVENTID) FNTEAM
ON TFT.PARENTTEAMID = FNTEAM.teamID
AND FNTEAM.TEAMTYPECODE = 1 --team
INNER JOIN dbo.TEAMFUNDRAISINGTEAMCAPTAIN TC
ON TFT.ID = TC.TEAMFUNDRAISINGTEAMID
INNER JOIN dbo.CONSTITUENT C
ON TC.CONSTITUENTID = C.ID
WHERE C.ID <> @CONSTITUENTID
)