USP_DATALIST_FAFGROUPTOPLEVELMEMBERS

List of members and group that registered directly under this group.

Parameters

Parameter Parameter Type Mode Description
@TEAMFUNDRAISINGTEAMID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@REGISTRANTNAME nvarchar(200) IN Registrant
@CURRENTAPPUSERID uniqueidentifier IN
@SITEFILTERMODE tinyint IN
@SITESSELECTED xml IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_FAFGROUPTOPLEVELMEMBERS
(
  @TEAMFUNDRAISINGTEAMID uniqueidentifier,
  @REGISTRANTNAME nvarchar(200) = null,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SITEFILTERMODE tinyint = 0,
  @SITESSELECTED xml = null,
  @SECURITYFEATUREID uniqueidentifier = null,
  @SECURITYFEATURETYPE tinyint = null
)
as
    set nocount on;

    declare @EVENTID uniqueidentifier

    select @EVENTID=TX.EVENTID from TEAMEXTENSION TX where TX.TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID

    select R.ID,1 AS ISMEMBER, PL.TEAMID as TEAMFUNDRAISINGTEAMID, PL.TEAMNAME, 
      PL.name as NAME,  
      PARTICIPANTROLE.ROLE,
      case when PARTICIPANTROLE.RoleGuidID in ('BC6B6D42-C7E6-4983-9A99-09ABAE79F452','3182787B-18A8-4B5E-BCBE-B56D97A6F88B') then TFT.GOAL else RX.FUNDRAISINGGOAL end AS GOAL, 
      dbo.UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL(R.ID, @EVENTID) AS TOTALAMOUNTRAISED, 
      dbo.UFN_VANITYURL_GETFAFPARTICIPANTURL(R.ID, @EVENTID, 0) as URL,
      EA.EMAILADDRESS, P.NUMBER
      '' as [STATUS] 

    from dbo.UFN_FAF_GROUPPARTICIPANTSLIST(NULL, @EVENTID ,NULL) PL
    join dbo.REGISTRANT R ON PL.ID = R.CONSTITUENTID and PL.EVENTID = R.EVENTID
    join dbo.UFN_REGISTRANT_GETFAFROLE(@EVENTID, null) PARTICIPANTROLE on PARTICIPANTROLE.REGISTRANTID = R.ID
    join dbo.REGISTRANTEXTENSION RX ON R.ID = RX.REGISTRANTID
    left join dbo.TEAMFUNDRAISINGTEAM TFT on TFT.ID = PL.TEAMID
    left join dbo.TEAMFUNDRAISINGTEAMCAPTAIN TFTC ON TFTC.CONSTITUENTID = PL.ID and TFTC.TEAMFUNDRAISINGTEAMID = PL.TEAMID
    left join dbo.EMAILADDRESS EA on PL.ID = EA.CONSTITUENTID and EA.ISPRIMARY = 1
    left join dbo.PHONE P on PL.ID = P.CONSTITUENTID and P.ISPRIMARY = 1
    Where PL.TEAMID = @TEAMFUNDRAISINGTEAMID and (@REGISTRANTNAME is null or PL.NAME like '%' + @REGISTRANTNAME + '%')
    and
      (
        @SITEFILTERMODE = 0
        or exists(
            select 1 from dbo.UFN_SITEID_MAPFROM_EVENTID(PL.EVENTID) EVENTSITE
            where EVENTSITE.SITEID in (select SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
           )
      )
  -- Check site security
    and (
          exists(
            select 1 from dbo.UFN_SITEID_MAPFROM_EVENTID(PL.EVENTID) EVENTSITE
            where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[EVENTSITE].[SITEID] or (SITEID is null and [EVENTSITE].[SITEID] is null))) )
        )


    Union all

    select TFT.ID, 0 as ISMEMBER, TX.TEAMFUNDRAISINGTEAMID, TFT.NAME as TEAMNAME, c.NAME, TX.[TYPE] AS [ROLE], 
    TFT.GOAL AS GOAL, 
    (select AMOUNTRAISED from dbo.UFN_FAF_GROUPTOTALSROLLUP(TX.EVENTID,TFT.ID)) AS TOTALAMOUNTRAISED,
    dbo.UFN_VANITYURL_GETFAFPARTICIPANTURL(TX.TEAMFUNDRAISINGTEAMID, TX.EVENTID, TX.TYPECODE) as URL,
    '' as EMAILADDRESS,
    '' as NUMBER
    TX.[STATUS]
    from dbo.TEAMFUNDRAISINGTEAM TFT
    join dbo.TEAMEXTENSION TX on TFT.ID = TX.TEAMFUNDRAISINGTEAMID
    join dbo.CONSTITUENT C on TX.TEAMCONSTITUENTID = C.ID
    where TFT.PARENTTEAMID = @TEAMFUNDRAISINGTEAMID and (@REGISTRANTNAME is null or @REGISTRANTNAME = '')
    and
      (
        @SITEFILTERMODE = 0
        or exists(
            select 1 from dbo.UFN_SITEID_MAPFROM_EVENTID(TX.EVENTID) EVENTSITE
            where EVENTSITE.SITEID in (select SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
           )
      )
  -- Check site security
    and (
          exists(
            select 1 from dbo.UFN_SITEID_MAPFROM_EVENTID(TX.EVENTID) EVENTSITE
            where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[EVENTSITE].[SITEID] or (SITEID is null and [EVENTSITE].[SITEID] is null)))
          )
   )