UFN_CONSTITUENT_CANBEDONOR
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_CONSTITUENT_CANBEDONOR(@CONSTITUENTID uniqueidentifier)
returns bit
as begin
declare @HOUSEHOLDSCANBEDONORS bit = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS();
declare @EXISTS bit, @DECEASED bit, @ISGROUP bit, @ISHOUSEHOLD bit, @GROUPCANBEDONOR bit, @ISDISSOLVED bit;
select
@EXISTS = 1,
@DECEASED = case when DECEASEDCONSTITUENT.ID is null then 0 else 1 end,
@ISGROUP = C.ISGROUP,
@ISDISSOLVED = case when DISSOLVEDGROUP.ID is null then 0 else 1 end
from
dbo.CONSTITUENT AS C
left join dbo.DECEASEDCONSTITUENT on DECEASEDCONSTITUENT.ID = C.ID
left join dbo.DISSOLVEDGROUP on DISSOLVEDGROUP.ID = C.ID
where C.ID = @CONSTITUENTID;
if @EXISTS <> 1
return 0;
select
@GROUPCANBEDONOR = isnull(GT.CANBEDONOR,1),
@ISHOUSEHOLD = case when GD.GROUPTYPECODE = 0 then 1 else 0 end
from
dbo.GROUPDATA as GD
left outer join dbo.GROUPTYPE as GT on GD.GROUPTYPECODE = 1 and GD.GROUPTYPEID = GT.ID
where GD.ID = @CONSTITUENTID;
if (
@DECEASED = 0
and (
@ISGROUP = 0
or (@ISGROUP = 1 and @ISHOUSEHOLD = 0 and @GROUPCANBEDONOR = 1)
or (@ISHOUSEHOLD = 1 and @HOUSEHOLDSCANBEDONORS = 1 and @ISDISSOLVED = 0)
)
)
return 1;
return 0;
end