USP_CONSTITUENTGETEXPRESSIONDATA
Returns data used by various constituent page expression view forms.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | INOUT | |
@DATALOADED | bit | INOUT | |
@NAME | nvarchar(400) | INOUT | |
@ISINACTIVE | bit | INOUT | |
@DECEASED | bit | INOUT | |
@ISSELF | bit | INOUT | |
@ISORG | bit | INOUT | |
@ISPROSPECT | bit | INOUT | |
@ISFORMERPROSPECT | bit | INOUT | |
@ISFUNDRAISER | bit | INOUT | |
@ISFORMERFUNDRAISER | bit | INOUT | |
@ISVOLUNTEER | bit | INOUT | |
@ISFORMERVOLUNTEER | bit | INOUT | |
@ISCOMMUNITYMEMBER | bit | INOUT | |
@ISREGISTRANT | bit | INOUT | |
@ISVENDOR | bit | INOUT | |
@APPUSERID | uniqueidentifier | INOUT | |
@ATTRIBUTEDEFINED | bit | INOUT | |
@SMARTFIELDDEFINED | bit | INOUT | |
@UPDATEPENDING | bit | INOUT | |
@CONSTITUENTID | uniqueidentifier | INOUT | |
@HASSPOUSE | bit | INOUT | |
@AGE | int | INOUT | |
@ISALUMNUS | bit | INOUT | |
@ISSTUDENT | bit | INOUT | |
@ISFORMERSTUDENT | bit | INOUT | |
@VALIDSEARCHCRITERIASTRICT | bit | INOUT | |
@VALIDSEARCHCRITERIARELAXED | bit | INOUT | |
@EDUCATIONATTRIBUTEDEFINED | bit | INOUT | |
@HASCOMMUNITYDATA | bit | INOUT | |
@ISGROUPMEMBER | bit | INOUT | |
@ISGROUP | bit | INOUT | |
@GROUPCANBEDONOR | bit | INOUT | |
@CURRENTMEMBERCOUNT | int | INOUT | |
@PREVIOUSMEMBERCOUNT | int | INOUT | |
@ISHOUSEHOLD | bit | INOUT | |
@HOUSEHOLDID | uniqueidentifier | INOUT | |
@MAPPINGCREDENTIALSEXIST | bit | INOUT | |
@HASSTEWARDSHIPPLAN | bit | INOUT | |
@DECEASINGOPTIONSSET | bit | INOUT | |
@ISDISSOLVED | bit | INOUT | |
@SPOUSERELATIONSHIPID | uniqueidentifier | INOUT | |
@ISPLANNEDGIVER | bit | INOUT | |
@ISPATRON | bit | INOUT | |
@ISBANK | bit | INOUT | |
@ISPAYABLESVENDOR | bit | INOUT | |
@HASIND2ORGRELATIONS | bit | INOUT | |
@ISCOMMITTEE | bit | INOUT | |
@ISGRANTOR | bit | INOUT | |
@ISSPONSOR | bit | INOUT | |
@SPONSORTYPECODE | tinyint | INOUT | |
@ISCOMMITTEEMEMBER | bit | INOUT | |
@HASMULTIPLEMGCONDITIONS | bit | INOUT | |
@ISFACULTY | bit | INOUT | |
@ISCONSTITUENT | bit | INOUT | |
@CANBEDONOR | bit | INOUT | |
@ISFORMERSPONSOR | bit | INOUT | |
@HASRECEIVEDFUNDS | bit | INOUT | |
@ADDRESSATTRIBUTEDEFINED | bit | INOUT | |
@USER_GRANTED_CONSTITPERSONALINFO_EDIT | bit | INOUT | |
@MEMBERSHIPID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_CONSTITUENTGETEXPRESSIONDATA
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier output,
@DATALOADED bit = 0 output,
@NAME nvarchar(400) = null output,
@ISINACTIVE bit = null output,
@DECEASED bit = null output,
@ISSELF bit = null output,
@ISORG bit = null output,
@ISPROSPECT bit = null output,
@ISFORMERPROSPECT bit = null output,
@ISFUNDRAISER bit = null output,
@ISFORMERFUNDRAISER bit = null output,
@ISVOLUNTEER bit = null output,
@ISFORMERVOLUNTEER bit = null output,
@ISCOMMUNITYMEMBER bit = null output,
@ISREGISTRANT bit = null output,
@ISVENDOR bit = null output,
@APPUSERID uniqueidentifier = null output,
@ATTRIBUTEDEFINED bit = null output,
@SMARTFIELDDEFINED bit = null output,
@UPDATEPENDING bit = null output,
@CONSTITUENTID uniqueidentifier = null output,
@HASSPOUSE bit = null output,
@AGE int = null output,
@ISALUMNUS bit = null output,
@ISSTUDENT bit = null output,
@ISFORMERSTUDENT bit = null output,
@VALIDSEARCHCRITERIASTRICT bit = null output,
@VALIDSEARCHCRITERIARELAXED bit = null output,
@EDUCATIONATTRIBUTEDEFINED bit = null output,
@HASCOMMUNITYDATA bit = null output,
@ISGROUPMEMBER bit = null output,
@ISGROUP bit = null output,
@GROUPCANBEDONOR bit = null output,
@CURRENTMEMBERCOUNT integer = null output,
@PREVIOUSMEMBERCOUNT integer = null output,
@ISHOUSEHOLD bit = null output,
@HOUSEHOLDID uniqueidentifier = null output,
@MAPPINGCREDENTIALSEXIST bit = null output,
@HASSTEWARDSHIPPLAN bit = null output,
@DECEASINGOPTIONSSET bit = null output,
@ISDISSOLVED bit = null output,
@SPOUSERELATIONSHIPID uniqueidentifier = null output,
@ISPLANNEDGIVER bit = null output,
@ISPATRON bit = null output,
@ISBANK bit = null output,
@ISPAYABLESVENDOR bit = null output,
@HASIND2ORGRELATIONS bit = null output,
@ISCOMMITTEE bit = null output,
@ISGRANTOR bit = 0 output,
@ISSPONSOR bit = null output,
@SPONSORTYPECODE tinyint = null output,
@ISCOMMITTEEMEMBER bit = null output,
@HASMULTIPLEMGCONDITIONS bit = null output,
@ISFACULTY bit = null output,
@ISCONSTITUENT bit = null output,
@CANBEDONOR bit = null output,
@ISFORMERSPONSOR bit = null output,
@HASRECEIVEDFUNDS bit = null output,
@ADDRESSATTRIBUTEDEFINED bit = null output,
@USER_GRANTED_CONSTITPERSONALINFO_EDIT bit = null output,
@MEMBERSHIPID uniqueidentifier = null output
)
as
set nocount on;
set @DATALOADED = 0;
select @APPUSERID = ID from dbo.APPUSER where CONSTITUENTID = @ID;
set @CONSTITUENTID = @ID;
select
@DATALOADED = 1,
@ISINACTIVE = C.ISINACTIVE,
@DECEASED = case when DECEASEDCONSTITUENT.ID is null then 0 else 1 end,
@NAME = NF.NAME,
@ISSELF = case when @APPUSERID = @CURRENTAPPUSERID then 1 else 0 end,
@ISORG=C.ISORGANIZATION,
@ISPROSPECT = dbo.UFN_CONSTITUENT_ISPROSPECT(@ID),
@ISFORMERPROSPECT = dbo.UFN_CONSTITUENT_ISFORMERPROSPECT(@ID),
@ISFUNDRAISER = dbo.UFN_CONSTITUENT_ISFUNDRAISER(@ID),
@ISFORMERFUNDRAISER = dbo.UFN_CONSTITUENT_ISFORMERFUNDRAISER(@ID),
@ISVOLUNTEER = dbo.UFN_CONSTITUENT_ISVOLUNTEER(@ID),
@ISFORMERVOLUNTEER = dbo.UFN_CONSTITUENT_ISFORMERVOLUNTEER(@ID),
@ISCOMMUNITYMEMBER = C.NETCOMMUNITYMEMBER,
@ISREGISTRANT = dbo.UFN_CONSTITUENT_ISREGISTRANT(@ID),
@ISVENDOR = dbo.UFN_CONSTITUENT_ISVENDOR(@ID),
@ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('CONSTITUENT',@CURRENTAPPUSERID),
@ADDRESSATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('ADDRESS',@CURRENTAPPUSERID),
@SMARTFIELDDEFINED = dbo.UFN_SMARTFIELD_DEFINEDFORRECORDTYPE('CONSTITUENT'),
@HASSPOUSE = case when exists (select ID from dbo.RELATIONSHIP where RELATIONSHIPCONSTITUENTID = @ID and ISSPOUSE = 1) then 1 else 0 end,
@AGE = AGE,
@ISALUMNUS = dbo.UFN_CONSTITUENT_ISALUMNUS(@ID),
@ISSTUDENT = dbo.UFN_CONSTITUENT_ISSTUDENT(@ID),
@ISFORMERSTUDENT = dbo.UFN_CONSTITUENT_ISFORMERSTUDENT(@ID),
@EDUCATIONATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('EDUCATIONAL HISTORY',@CURRENTAPPUSERID),
@ISGROUPMEMBER = dbo.UFN_CONSTITUENT_HASGROUPMEMBERRECORD(@ID),
@ISGROUP = C.ISGROUP,
@HASCOMMUNITYDATA = dbo.UFN_CONSTITUENT_HASCOMMUNITYDATA(@ID),
@HASSTEWARDSHIPPLAN = dbo.UFN_CONSTITUENT_HASSTEWARDSHIPPLAN(@ID),
@ISDISSOLVED = case when DISSOLVEDGROUP.ID is null then 0 else 1 end,
@SPOUSERELATIONSHIPID = (select ID from dbo.RELATIONSHIP where RELATIONSHIPCONSTITUENTID = @ID and ISSPOUSE = 1),
@ISPLANNEDGIVER = dbo.UFN_CONSTITUENT_ISPLANNEDGIVER(@ID),
@ISPATRON = dbo.UFN_CONSTITUENT_ISPATRON(@ID),
@ISBANK = dbo.UFN_CONSTITUENT_ISBANK(@ID),
@ISPAYABLESVENDOR = dbo.UFN_CONSTITUENT_ISPAYABLESVENDOR(@ID),
@ISCOMMITTEE = dbo.UFN_CONSTITUENT_ISCOMMITTEE(@ID),
@HASIND2ORGRELATIONS = 0,
@ISGRANTOR = dbo.UFN_CONSTITUENT_ISGRANTOR(@ID),
@ISCOMMITTEEMEMBER = dbo.UFN_CONSTITUENT_ISCOMMITTEEMEMBER(@ID),
@ISFACULTY = dbo.UFN_CONSTITUENT_ISFACULTY(@ID),
@ISCONSTITUENT = C.ISCONSTITUENT
from
dbo.CONSTITUENT AS C
left join dbo.DECEASEDCONSTITUENT on DECEASEDCONSTITUENT.ID = C.ID
left join dbo.DISSOLVEDGROUP on DISSOLVEDGROUP.ID = C.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(C.ID) NF
where
C.ID = @ID;
exec dbo.USP_SPONSOR_GETINFORMATION
@CONSTITUENTID,
@ISSPONSOR output,
@ISFORMERSPONSOR output,
@SPONSORTYPECODE output
if exists(select 1 from dbo.WEALTH where ID=@ID and PENDINGSEARCH=1) begin
set @UPDATEPENDING = 1;
end else begin
set @UPDATEPENDING = 0;
exec dbo.USP_CONSTITUENT_VALIDWEALTHPOINTSEARCHCRITERIA @CONSTITUENTID=@ID, @STRICT=@VALIDSEARCHCRITERIASTRICT output, @RELAXED=@VALIDSEARCHCRITERIARELAXED output;
end
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 = @ID;
declare @CURRENTDATE date;
set @CURRENTDATE = getdate();
select @CURRENTMEMBERCOUNT = count(GM.ID)
from dbo.GROUPMEMBER as GM
left join dbo.GROUPMEMBERDATERANGE as GMDR on GM.ID = GMDR.GROUPMEMBERID
where ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE))
or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
and GM.GROUPID = @ID;
select @PREVIOUSMEMBERCOUNT = count(GM.ID)
from dbo.GROUPMEMBER as GM
left join dbo.GROUPMEMBERDATERANGE as GMDR on GM.ID = GMDR.GROUPMEMBERID
where (GMDR.DATETO is not null and GMDR.DATETO <= @CURRENTDATE)
and GM.ID not in (select GROUPMEMBERID from dbo.GROUPMEMBERDATERANGE where DATETO is null)
and GM.GROUPID = @ID;
-- Determine constituent's household. Constituents are only allowed to be part of one household and
-- only individuals can be in households
if @ISORG = 0 and @ISGROUP = 0
select top(1)
@HOUSEHOLDID = GM.GROUPID
from dbo.GROUPMEMBER as GM
inner join dbo.GROUPDATA as GD on GD.ID = GM.GROUPID
where
GM.MEMBERID = @ID and
dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GM.ID) = 1 and
GD.GROUPTYPECODE = 0;
declare @MAPPINGCREDENTIALSID uniqueidentifier;
select top 1
@MAPPINGCREDENTIALSID = ID
from
dbo.MAPPINGCREDENTIALS
where
len([KEY]) > 0;
if @MAPPINGCREDENTIALSID is not null
set @MAPPINGCREDENTIALSEXIST = 1;
else
set @MAPPINGCREDENTIALSEXIST = 0;
select
@DECEASINGOPTIONSSET = RULESSET
from
dbo.UFN_DECEASINGOPTION_GETRULES()
if @ISORG = 1
begin
if exists(select top 1 RELATIONSHIP.ID
from dbo.RELATIONSHIP
inner join dbo.CONSTITUENT
on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONSTITUENT.ID
where RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @ID
and CONSTITUENT.ISORGANIZATION = 0 and CONSTITUENT.ISGROUP = 0)
set @HASIND2ORGRELATIONS = 1;
select
@HASMULTIPLEMGCONDITIONS = case when count(ID) > 1 then 1 else 0 end
from
dbo.MATCHINGGIFTCONDITION
where
ORGANIZATIONID = @ID
end
if @ISORG = 0 and @ISGROUP = 0
if exists(select top 1 RELATIONSHIP.ID
from dbo.RELATIONSHIP
inner join dbo.CONSTITUENT
on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONSTITUENT.ID
where RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @ID
and CONSTITUENT.ISORGANIZATION = 1)
set @HASIND2ORGRELATIONS = 1;
declare @HOUSEHOLDSCANBEDONORS bit = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS();
select @CANBEDONOR = dbo.UFN_CONSTITUENT_CANBEDONOR(@ID);
set @HASRECEIVEDFUNDS = dbo.UFN_CONSTITUENT_HASRECEIVEDFUNDS(@ID)
if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
begin
set @USER_GRANTED_CONSTITPERSONALINFO_EDIT = 1;
end
else
begin
set @USER_GRANTED_CONSTITPERSONALINFO_EDIT =
case
when @ISORG = 1 then dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'a9954902-ea62-48ae-8e6f-4e2ed3c3f4f9')
else dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'788AB947-26ED-40C4-865E-8FE29577E593')
end;
end
declare @MEMBERSHIPCOUNT int = (select count(MEMBERSHIP.ID) from dbo.MEMBERSHIP
inner join dbo.MEMBER on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MEMBERSHIP.ID and PRIMARYMEMBER.ISPRIMARY = 1
where MEMBER.CONSTITUENTID = @ID)
if @MEMBERSHIPCOUNT = 1
set @MEMBERSHIPID = (select MEMBERSHIP.ID from dbo.MEMBERSHIP
inner join dbo.MEMBER on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MEMBERSHIP.ID and PRIMARYMEMBER.ISPRIMARY = 1
where MEMBER.CONSTITUENTID = @ID)
return 0;