UFN_CONSTITUENT_GETMEMBERSHIPS
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@DATAFORMINSTANCEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_CONSTITUENT_GETMEMBERSHIPS
(
@CONSTITUENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@DATAFORMINSTANCEID uniqueidentifier = null
)
returns table
as
return
(
with MEMBERS_CTE as
(
-- Include memberships where:
-- the member is this constituent,
-- the member is in this constituent group, and
-- the member is this constituent's household
select @CONSTITUENTID as ID
union all
select TVF.ID
from dbo.UFN_GROUP_GETCURRENTMEMBERS(@CONSTITUENTID, @CURRENTAPPUSERID, @DATAFORMINSTANCEID, 0) as TVF
union all
select TVF.ID
from dbo.UFN_CONSTITUENT_GETGROUPS(@CONSTITUENTID) as TVF
where dbo.UFN_CONSTITUENT_ISHOUSEHOLD(ID) = 1
)
-- This function serves the ConstituentSummaryMembershipsTile.View.xml, which limits the number of records returned.
-- If you change the number of records returned here, you must also update the tile's UIModel to allow one less than the new limit.
select distinct top 501
MEMBERSHIP.ID,
MEMBERSHIP.MEMBERSHIPPROGRAMID,
MEMBERSHIPPROGRAM.NAME as MEMBERSHIPPROGRAMNAME,
MEMBERSHIPLEVEL.NAME as MEMBERSHIPLEVELNAME,
PRIMARYMEMBER.CONSTITUENTID as PRIMARYMEMBERID,
NF.NAME as PRIMARYMEMBERNAME,
MEMBERSHIP.STATUS,
MEMBERSHIP.STATUSCODE,
MEMBERSHIP.LOOKUPID,
MEMBERSHIP.JOINDATE,
MEMBERSHIP.EXPIRATIONDATE,
case MEMBERSHIP.STATUSCODE
when 0 then 1
when 2 then 2
when 3 then 3
when 4 then 4
when 5 then 5
when 1 then 6
else 7
end as SEQUENCE
from dbo.MEMBERSHIP
inner join dbo.MEMBER as PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
inner join MEMBERS_CTE as MEMBERS on MEMBER.CONSTITUENTID = MEMBERS.ID
inner join dbo.MEMBERSHIPPROGRAM on MEMBERSHIP.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID
left join dbo.MEMBERSHIPLEVEL on MEMBERSHIP.MEMBERSHIPLEVELID = MEMBERSHIPLEVEL.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PRIMARYMEMBER.CONSTITUENTID) as NF
where
PRIMARYMEMBER.ISPRIMARY = 1 and
PRIMARYMEMBER.ISDROPPED = 0 and
MEMBER.ISDROPPED = 0
);