UFN_FAF_GETTEAMCOMPANYHOUSEHOLDINFO_BY_REGISTRANT
This function returns team, company, and household info (ID,name) that the registrant belongs to
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_FAF_GETTEAMCOMPANYHOUSEHOLDINFO_BY_REGISTRANT
(
@EVENTID uniqueidentifier,
@CONSTITUENTID uniqueidentifier
)
returns table
AS
return
(
SELECT RG.ID as [RegistrantID]
,CASE TED.TYPECODE WHEN 3 THEN TFTD.ID ELSE NULL END as [HouseholdID]
, CASE TED.TYPECODE WHEN 3 THEN TFTD.Name ELSE NULL END as [HouseholdName]
, CASE WHEN TED.TYPECODE = 1 THEN TFTD.ID
WHEN TEP.TYPECODE = 1 THEN TFTP.ID
ELSE NULL END AS [TEAMID]
, CASE WHEN TED.TYPECODE = 1 THEN TFTD.NAME
WHEN TEP.TYPECODE = 1 THEN TFTP.Name
ELSE NULL END AS [TEAMNAME]
, CASE WHEN TED.TYPECODE = 1 THEN TFTD.GOAL
WHEN TEP.TYPECODE = 1 THEN TFTP.GOAL
ELSE NULL END AS [TEAMGOAL]
, CASE WHEN TED.TYPECODE = 2 THEN TFTD.ID
WHEN TEP.TYPECODE = 2 THEN TFTP.ID
WHEN TEGP.TYPECODE = 2 THEN TFTGP.ID
ELSE NULL END as [COMPANYID]
, CASE WHEN TED.TYPECODE = 2 THEN TFTD.NAME
WHEN TEP.TYPECODE = 2 THEN TFTP.NAME
WHEN TEGP.TYPECODE = 2 THEN TFTGP.NAME
ELSE NULL END as [COMPANYNAME]
, CASE WHEN TED.TYPECODE = 2 THEN TFTD.GOAL
WHEN TEP.TYPECODE = 2 THEN TFTP.GOAL
WHEN TEGP.TYPECODE = 2 THEN TFTGP.GOAL
ELSE NULL END as [COMPANYGOAL]
, CASE WHEN TED.TYPECODE = 3 THEN TFTD.GOAL
WHEN TEP.TYPECODE = 3 THEN TFTP.GOAL
ELSE NULL END as [HOUSEHOLDGOAL]
FROM dbo.REGISTRANT RG
inner join dbo.EVENT EV ON EV.ID = RG.EVENTID
inner join dbo.CONSTITUENT C ON C.ID=RG.CONSTITUENTID
left outer join dbo.TEAMFUNDRAISER TF on TF.CONSTITUENTID=C.ID AND TF.APPEALID=EV.APPEALID
left outer join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM ON TFTM.TEAMFUNDRAISERID =TF.ID
left outer join dbo.TEAMFUNDRAISINGTEAM TFTD ON TFTD.ID=TFTM.TEAMFUNDRAISINGTEAMID
left outer join dbo.TEAMEXTENSION TED ON TED.TEAMFUNDRAISINGTEAMID=TFTD.ID -- Direct
left outer join dbo.TEAMFUNDRAISINGTEAM TFTP ON TFTP.ID=TFTD.PARENTTEAMID
left outer join dbo.TEAMEXTENSION TEP ON TEP.TEAMFUNDRAISINGTEAMID=TFTP.ID -- Parent
left outer join dbo.TEAMFUNDRAISINGTEAM TFTGP ON TFTP.PARENTTEAMID = TFTGP.ID
left outer join dbo.TEAMEXTENSION TEGP ON TFTGP.ID=TEGP.TEAMFUNDRAISINGTEAMID -- GrandParent
WHERE C.ID = @constituentID
AND EV.ID = @eventID
)