USP_DATALIST_CONSTITUENTTRIBUTE
Returns a list of tributes where the current constituent is the tributee or the acknowledgee.
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 |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTTRIBUTE
(
@CONSTITUENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null
)
as
set nocount on;
select distinct
TRIBUTE.ID,
TRIBUTE.TRIBUTETEXT,
TYPE.DESCRIPTION as TRIBUTETYPE,
TRIBUTE.ISACTIVE,
TRIBUTE.DATEADDED as DATECREATED,
cast(1 as bit) as ISTRIBUTEE,
case
when exists
(select T.TRIBUTEEID from dbo.TRIBUTE T inner join dbo.TRIBUTEACKNOWLEDGEE A on T.ID = A.TRIBUTEID where T.ID = TRIBUTE.ID and A.CONSTITUENTID = CONSTITUENT.ID)
then cast(1 as bit) else cast(0 as bit) end as ISACKNOWLEDGEE,
(
select dbo.UDA_BUILDLIST(SITE.NAME)
from dbo.SITE
inner join dbo.TRIBUTESITE on TRIBUTESITE.SITEID = SITE.ID
where TRIBUTESITE.TRIBUTEID = TRIBUTE.ID
) as SITES
from
dbo.TRIBUTE
inner join
dbo.TRIBUTETYPECODE TYPE on TRIBUTE.TRIBUTETYPECODEID = TYPE.ID
inner join
dbo.CONSTITUENT on TRIBUTE.TRIBUTEEID = CONSTITUENT.ID
left join
dbo.TRIBUTESITE on TRIBUTE.ID = TRIBUTESITE.TRIBUTEID
where
CONSTITUENT.ID = @CONSTITUENTID and
((dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, TRIBUTESITE.SITEID) = 1) and
(@SITEFILTERMODE = 0
or exists(
select 1
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
where TRIBUTESITE.SITEID = SITEFILTER.SITEID)
)
)
union all
select distinct
TRIBUTE.ID,
TRIBUTE.TRIBUTETEXT,
TYPE.DESCRIPTION as TRIBUTETYPE,
TRIBUTE.ISACTIVE,
TRIBUTE.DATEADDED as DATECREATED,
cast(0 as bit) as ISTRIBUTEE,
cast(1 as bit) as ISACKNOWLEDGEE,
(
select dbo.UDA_BUILDLIST(SITE.NAME)
from dbo.SITE
inner join dbo.TRIBUTESITE on TRIBUTESITE.SITEID = SITE.ID
where TRIBUTESITE.TRIBUTEID = TRIBUTE.ID
) as SITES
from
dbo.TRIBUTE
inner join
dbo.TRIBUTETYPECODE TYPE on TRIBUTE.TRIBUTETYPECODEID = TYPE.ID
inner join
dbo.TRIBUTEACKNOWLEDGEE ACK on TRIBUTE.ID = ACK.TRIBUTEID
left join
dbo.TRIBUTESITE on TRIBUTE.ID = TRIBUTESITE.TRIBUTEID
where
ACK.CONSTITUENTID = @CONSTITUENTID
and ((TRIBUTE.TRIBUTEEID is null) or (ACK.CONSTITUENTID <> TRIBUTE.TRIBUTEEID)) and
((dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, TRIBUTESITE.SITEID) = 1) and
(@SITEFILTERMODE = 0
or exists(
select 1
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
where TRIBUTESITE.SITEID = SITEFILTER.SITEID)
)
)
order by
TRIBUTE.DATEADDED, TRIBUTE.TRIBUTETEXT;