USP_DATALIST_CONSTITUENTMEMBERSHIP
This datalist returns the memberships of a constituent.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTMEMBERSHIP
(
@CONSTITUENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
set nocount on;
select
MEMBER.ID,
MEMBERSHIP.ID as MEMBERSHIPID,
MEMBERSHIP.STATUSCODE,
MEMBERSHIP.MEMBERSHIPPROGRAMID as MEMBERSHIPPROGRAMID,
(dbo.UFN_MEMBERSHIPPROGRAM_GETNAME(MEMBERSHIP.MEMBERSHIPPROGRAMID) + ' - ' + dbo.UFN_MEMBERSHIPLEVEL_GETNAME(MEMBERSHIP.MEMBERSHIPLEVELID)) AS MEMBERSHIPS,
dbo.UFN_MEMBERSHIPLEVEL_CREATERENEWALAFTEREXPIRATIONDATE(MEMBERSHIP.MEMBERSHIPLEVELID, MEMBERSHIP.EXPIRATIONDATE) as RENEWALAFTEREXPIRATION,
dbo.UFN_MEMBERSHIPLEVEL_CREATERENEWALBEFOREEXPIRATIONDATE(MEMBERSHIP.MEMBERSHIPLEVELID, MEMBERSHIP.EXPIRATIONDATE) as RENEWALBEFOREEXPIRATION,
cast(MEMBERSHIP.EXPIRATIONDATE as date) EXPIRATIONDATE,
MEMBERSHIPPROGRAM.ISACTIVE,
MEMBERSHIP.MEMBERSHIPLEVELID,
MEMBERSHIP.MEMBERSHIPLEVELTERMID,
MEMBERSHIP.MEMBERSHIPLEVELTYPECODEID,
NF.NAME as CONSTITUENT,
MEMBERSHIP.LOOKUPID,
case
when MEMBERSHIP.STATUSCODE = 0 and MEMBERSHIP.EXPIRATIONDATE < getdate() then 'Lapsed'
else MEMBERSHIP.STATUS
end as STATUS,
dbo.UFN_MEMBERSHIPLEVELTERM_GETVALUE(MEMBERSHIP.MEMBERSHIPLEVELTERMID) as TERM,
SITE.NAME SITE
from dbo.MEMBER
inner join dbo.MEMBERSHIP
on MEMBER.MEMBERSHIPID=MEMBERSHIP.ID
inner join dbo.MEMBERSHIPLEVEL
on MEMBERSHIP.MEMBERSHIPLEVELID = MEMBERSHIPLEVEL.ID
inner join dbo.MEMBERSHIPPROGRAM
on MEMBERSHIPPROGRAM.ID = MEMBERSHIP.MEMBERSHIPPROGRAMID
left join dbo.SITE
on MEMBERSHIPPROGRAM.SITEID = SITE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(MEMBER.CONSTITUENTID) NF
where
(dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[MEMBERSHIPPROGRAM].[SITEID] or (SITEID is null and [MEMBERSHIPPROGRAM].[SITEID] is null)))
and (@SITEFILTERMODE = 0
or MEMBERSHIPPROGRAM.SITEID in (
select SITEID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)
)
or @CURRENTAPPUSERID is null
)
and MEMBER.ISDROPPED = 0
and (
MEMBER.CONSTITUENTID=@CONSTITUENTID or
MEMBER.CONSTITUENTID in (
select ID
from dbo.UFN_GROUP_GETCURRENTMEMBERS(@CONSTITUENTID, @CURRENTAPPUSERID, 'aef629df-9698-41b4-97c3-a83a40f87b18', 0)
-- Check security against Constituent Membership View Form
) or
MEMBER.CONSTITUENTID in (
select ID
from dbo.UFN_CONSTITUENT_GETGROUPS(@CONSTITUENTID)
where dbo.UFN_CONSTITUENT_ISHOUSEHOLD(ID) = 1
)
);