USP_DATALIST_CONSTITUENTPROFILEDASHBOARDSOLICITCODES

This datalist returns solicit code information that is used by the constituent profile dashboard.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN Constituent
@ISVISIBLE bit IN Visible
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@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 dbo.USP_DATALIST_CONSTITUENTPROFILEDASHBOARDSOLICITCODES(
                    @CONSTITUENTID uniqueidentifier,
                    @ISVISIBLE bit = 1,
                    @CURRENTAPPUSERID uniqueidentifier = null,
                    @SECURITYFEATUREID uniqueidentifier = null,
                    @SECURITYFEATURETYPE tinyint = null
                )
                as
                    set nocount on;

                    if @ISVISIBLE = 1
                    begin
                        select 
                            SOLICITCODE.DESCRIPTION,
                            CONSTITUENTSOLICITCODE.STARTDATE,
                            CONSTITUENTSOLICITCODE.ENDDATE,
                            CONSTITUENTSOLICITCODE.COMMENTS,
                            coalesce(SITE.NAME, 'All sites') SITENAME
                        from dbo.CONSTITUENTSOLICITCODE 
                            inner join dbo.SOLICITCODE on SOLICITCODE.ID=CONSTITUENTSOLICITCODE.SOLICITCODEID
                            left join dbo.SITE on SITE.ID = SOLICITCODE.SITEID
                        where CONSTITUENTSOLICITCODE.CONSTITUENTID=@CONSTITUENTID
                            and (
                                -- Special case.  Only copy this behavior if no site assignment means all sites.

                                SOLICITCODE.SITEID is null 
                                    or (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SOLICITCODE].[SITEID] or (SITEID is null and [SOLICITCODE].[SITEID] is null)))
                            )
                    end