USP_DATALIST_GIVINGLEVELPROGRAMS

This datalist returns all giving level programs in the system.

Parameters

Parameter Parameter Type Mode Description
@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 USP_DATALIST_GIVINGLEVELPROGRAMS
(
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SITEFILTERMODE tinyint = 0,
  @SITESSELECTED xml = null,
  @SECURITYFEATUREID uniqueidentifier = null,
  @SECURITYFEATURETYPE tinyint = null
)
as
  set nocount on;

  select
    GIVINGLEVELPROGRAM.[ID],
    GIVINGLEVELPROGRAM.[NAME],
    GIVINGLEVELPROGRAM.[DESCRIPTION],
    SMARTFIELD.NAME,
    (select count(ID) from dbo.GIVINGLEVELPROGRAMLEVEL where GIVINGLEVELPROGRAMLEVEL.GIVINGLEVELPROGRAMID = GIVINGLEVELPROGRAM.ID) NUMBEROFLEVELS
  from
    dbo.[GIVINGLEVELPROGRAM]
  inner join
    dbo.SMARTFIELD on SMARTFIELD.[ID] = GIVINGLEVELPROGRAM.[SMARTFIELDID]
  left join
    dbo.GIVINGLEVELPROGRAMSITE on GIVINGLEVELPROGRAMSITE.[GIVINGLEVELPROGRAMID] = GIVINGLEVELPROGRAM.[ID]
  where
    (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[GIVINGLEVELPROGRAMSITE].[SITEID] or (SITEID is null and [GIVINGLEVELPROGRAMSITE].[SITEID] is null))) and 
    (@SITEFILTERMODE = 0 or 
      GIVINGLEVELPROGRAMSITE.[SITEID] in (select SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)))
  group by
    GIVINGLEVELPROGRAM.[ID],
    GIVINGLEVELPROGRAM.[NAME],
    GIVINGLEVELPROGRAM.[DESCRIPTION],
    SMARTFIELD.[NAME]
  order by
    GIVINGLEVELPROGRAM.[NAME];