UFN_RECOGNITIONPROGRAM_VALIDCONSTITUENT
Validates a constituent for a recognition program.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PROGRAMID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_RECOGNITIONPROGRAM_VALIDCONSTITUENT
(
@PROGRAMID uniqueidentifier,
@CONSTITUENTID uniqueidentifier
)
returns bit
with execute as caller
as begin
declare @ISINDIVIDUAL bit = 0
declare @ISHOUSEHOLD bit = 0
declare @ISGROUP bit = 0
declare @ISORGANIZATION bit = 0
select
@ISGROUP = ISGROUP,
@ISORGANIZATION = ISORGANIZATION
from
dbo.CONSTITUENT
where
ID = @CONSTITUENTID
set @ISHOUSEHOLD = dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@CONSTITUENTID)
if (@ISHOUSEHOLD = 0 and @ISGROUP = 0 and @ISORGANIZATION = 0)
set @ISINDIVIDUAL = 1
if exists
(
select 1 from dbo.RECOGNITIONPROGRAM where
ID = @PROGRAMID and
(
(RECOGNITIONPROGRAM.ALLOWINDIVIDUAL = 1 and @ISINDIVIDUAL = 1) or
(RECOGNITIONPROGRAM.ALLOWHOUSEHOLD = 1 and @ISHOUSEHOLD = 1) or
-- All households are groups, if we want to exclude households from groups
(RECOGNITIONPROGRAM.ALLOWGROUP = 1 and RECOGNITIONPROGRAM.ALLOWHOUSEHOLD = 0 and @ISGROUP = 1 and @ISHOUSEHOLD = 0) or
(RECOGNITIONPROGRAM.ALLOWGROUP = 1 and RECOGNITIONPROGRAM.ALLOWHOUSEHOLD = 1 and @ISGROUP = 1) or
(RECOGNITIONPROGRAM.ALLOWORGANIZATION = 1 and @ISORGANIZATION = 1)
)
)
return 1
return 0
end