USP_DATALIST_FUNDRAISERCAMPAIGN
Returns all of the campaigns a fundraiser is assigned to.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FUNDRAISERID | 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. |
@VIEWINACTIVE | bit | IN | Show prior campaigns |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FUNDRAISERCAMPAIGN (
@FUNDRAISERID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@VIEWINACTIVE bit = 0
) as begin
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @MINCOMPARERESULT int;
set @MINCOMPARERESULT = case @VIEWINACTIVE when 0 then 0 else 1 end;
with XMLNAMESPACES ('bb_appfx_dataforms' as DFI)
select
CAMPAIGNFUNDRAISER.ID,
CAMPAIGN.NAME [CAMPAIGNNAME],
(
select top 1
KPIINSTANCE.ID
from
dbo.KPIINSTANCE
where
KPIINSTANCE.KPICATALOGID = '3ac33006-0c14-4227-b375-3bf2e61da1e1'
and
KPIINSTANCE.PARAMETERSXML.value('data(/DFI:DataFormItem/DFI:Values/DFI:fv[@ID="CAMPAIGNID"]/DFI:Value)[1]','varchar(36)') = cast(CAMPAIGNFUNDRAISER.CAMPAIGNID as varchar(36))
and
KPIINSTANCE.PARAMETERSXML.value('data(/DFI:DataFormItem/DFI:Values/DFI:fv[@ID="FUNDRAISERID"]/DFI:Value)[1]','varchar(36)') = cast(CAMPAIGNFUNDRAISER.CONSTITUENTID as varchar(36))
) as KPIINSTANCEID,
CAMPAIGNFUNDRAISER.CONSTITUENTID as KPICONTEXTID,
CAMPAIGNFUNDRAISERPOSITIONCODE.DESCRIPTION as POSITION,
CAMPAIGNFUNDRAISERTASKCODE.DESCRIPTION as TASK,
(
select dbo.UDA_BUILDLIST(SITE.NAME)
from dbo.SITE
inner join dbo.CAMPAIGNSITE on CAMPAIGNSITE.SITEID = SITE.ID
where CAMPAIGNSITE.CAMPAIGNID = CAMPAIGN.ID
) as SITES,
CAMPAIGNFUNDRAISER.DATEFROM,
CAMPAIGNFUNDRAISER.DATETO,
CAMPAIGN.ID as CAMPAIGNID,
CAMPAIGNFUNDRAISER.STATUS as TIMEFRAME
from
dbo.CAMPAIGNFUNDRAISER
left outer join
dbo.CAMPAIGN on CAMPAIGNFUNDRAISER.CAMPAIGNID = CAMPAIGN.ID
left join
dbo.CAMPAIGNFUNDRAISERPOSITIONCODE on CAMPAIGNFUNDRAISER.CAMPAIGNFUNDRAISERPOSITIONCODEID = CAMPAIGNFUNDRAISERPOSITIONCODE.ID
left join
dbo.CAMPAIGNFUNDRAISERTASKCODE on CAMPAIGNFUNDRAISER.CAMPAIGNFUNDRAISERTASKCODEID = CAMPAIGNFUNDRAISERTASKCODE.ID
where
CAMPAIGNFUNDRAISER.CONSTITUENTID = @FUNDRAISERID
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_CAMPAIGNID(CAMPAIGN.ID) as CAMPAIGNSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[CAMPAIGNSITE].[SITEID] or (SITEID is null and [CAMPAIGNSITE].[SITEID] is null)))
) > 0
and (
@SITEFILTERMODE = 0
or CAMPAIGN.ID in (
select CAMPAIGNSITE.CAMPAIGNID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.CAMPAIGNSITE on CAMPAIGNSITE.SITEID = SITEFILTER.SITEID
)
)
and dbo.UFN_DATE_COMPARETODATERANGE(@CURRENTDATE, CAMPAIGNFUNDRAISER.DATEFROM, CAMPAIGNFUNDRAISER.DATETO) <= @MINCOMPARERESULT
order by CAMPAIGNNAME, POSITION;
end