USP_DATALIST_CONSTITUENTMEMBERSHIPS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN | |
@SITEFILTERMODE | tinyint | IN | |
@SITESSELECTED | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTMEMBERSHIPS
(
@CONSTITUENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null
)
as
set nocount on;
declare @CONSTITUENTS table (ID uniqueidentifier);
insert into @CONSTITUENTS
select @CONSTITUENTID as ID
union all
select ID from dbo.UFN_GROUP_GETCURRENTMEMBERS(@CONSTITUENTID, @CURRENTAPPUSERID, '3550edaf-780c-48c8-9700-f478eeac9e51', 0)
union all
select ID from dbo.UFN_CONSTITUENT_GETGROUPS(@CONSTITUENTID) where dbo.UFN_CONSTITUENT_ISHOUSEHOLD(ID) = 1;
select distinct
MEMBERSHIP.ID,
MEMBERSHIPPROGRAM.NAME as MEMBERSHIPNAME,
dbo.UFN_CONSTITUENT_BUILDNAME(PRIMARYMEMBER.CONSTITUENTID) as PRIMARYMEMBERNAME,
convert(nvarchar(36), MEMBERSHIP.ID) + convert(nvarchar(36), @CONSTITUENTID) as COMBOID,
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 STATUSCODE
from dbo.MEMBERSHIP
inner join dbo.MEMBERSHIPPROGRAM on MEMBERSHIP.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID
inner join dbo.MEMBER on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID and MEMBER.ISDROPPED = 0
inner join @CONSTITUENTS C on C.ID = MEMBER.CONSTITUENTID
inner join dbo.MEMBER PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MEMBERSHIP.ID and PRIMARYMEMBER.ISPRIMARY = 1 and PRIMARYMEMBER.ISDROPPED = 0
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
)
order by 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