USP_SIMPLEDATALIST_RECOGNITIONPROGRAM

A list of active recognition programs.

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CONSTITUENTID uniqueidentifier IN Constituent ID

Definition

Copy


            CREATE procedure dbo.USP_SIMPLEDATALIST_RECOGNITIONPROGRAM 
            (
                @CURRENTAPPUSERID uniqueidentifier = null,
                @CONSTITUENTID uniqueidentifier = null
            )
            as

                declare @ISINDIVIDUAL bit = 0
                declare @ISHOUSEHOLD bit = 0
                declare @ISGROUP bit = 0
                declare @ISORGANIZATION bit = 0

                if @CONSTITUENTID is not null
                    begin
                        set    @ISHOUSEHOLD = dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@CONSTITUENTID)
                        set    @ISGROUP = dbo.UFN_CONSTITUENT_ISGROUP(@CONSTITUENTID)
                        set    @ISORGANIZATION = dbo.UFN_CONSTITUENT_ISORGANIZATION(@CONSTITUENTID)
                        if (@ISHOUSEHOLD = 0 and @ISGROUP = 0 and @ISORGANIZATION = 0)
                            set @ISINDIVIDUAL = 1
                    end

                select 
                    RECOGNITIONPROGRAM.ID as VALUE
                    RECOGNITIONPROGRAM.NAME as LABEL
                from dbo.RECOGNITIONPROGRAM
                left join dbo.SITE on RECOGNITIONPROGRAM.SITEID = SITE.ID
                where dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, RECOGNITIONPROGRAM.SITEID)=1
                and RECOGNITIONPROGRAM.ISACTIVE = 1
                and 
                    (
                        @CONSTITUENTID is null
                        or
                        (
                            (RECOGNITIONPROGRAM.ALLOWINDIVIDUAL = 1 and @ISINDIVIDUAL = 1) or
                            (RECOGNITIONPROGRAM.ALLOWHOUSEHOLD = 1 and @ISHOUSEHOLD = 1) or
                            (RECOGNITIONPROGRAM.ALLOWGROUP = 1 and @ISGROUP = 1) or
                            (RECOGNITIONPROGRAM.ALLOWORGANIZATION = 1 and @ISORGANIZATION = 1)
                        )
                    )
                order by RECOGNITIONPROGRAM.NAME