USP_DATAFORMTEMPLATE_VIEW_GROUPMEMBER
The load procedure used by the view dataform template "Group Member View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@NAME | nvarchar(700) | INOUT | Constituent Name |
@CONSTITUENTID | uniqueidentifier | INOUT | CONSTITUENTID |
@MEMBERSINCE | datetime | INOUT | Member since |
@ISINACTIVE | bit | INOUT | Status |
@ADDRESS | nvarchar(300) | INOUT | Address |
@LOOKUPID | nvarchar(100) | INOUT | Lookup ID |
@PHONENUMBER | nvarchar(100) | INOUT | Phone Number |
@EMAILADDRESS | nvarchar(100) | INOUT | Email Address |
@RELATIONSHIPWITHPRIMARY | nvarchar(max) | INOUT | Relationship with primary |
@ACTIVECONSTITUENCIES | nvarchar(max) | INOUT | Active constituencies |
@TOTALGIVING | money | INOUT | Total giving |
@GROUPS | xml | INOUT | GROUPS |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@ISBOARDMEMBER | bit | INOUT | Is board member |
@ISSTAFF | bit | INOUT | Is staff |
@ISDONOR | bit | INOUT | Is donor |
@ISFUNDRAISER | bit | INOUT | Is fundraiser |
@ISPROSPECT | bit | INOUT | Is prospect |
@ISVOLUNTEER | bit | INOUT | Is volunteer |
@ISREGISTRANT | bit | INOUT | Is registrant |
@ISVENDOR | bit | INOUT | Is vendor |
@ISALUMNUS | bit | INOUT | Is alumnus |
@ISRECOGNITION | bit | INOUT | Is recognition constituent |
@ISRELATION | bit | INOUT | Is relation |
@USERDEFINEDCONSTITUENCIES | xml | INOUT | User-defined constituencies |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ISPLANNEDGIVER | bit | INOUT | Is planned giver |
@ISCOMMITTEE | bit | INOUT | ISCOMMITTEE |
@ISCOMMITTEEMEMBER | bit | INOUT | ISCOMMITTEEMEMBER |
@ISLOYALDONOR | bit | INOUT | Is Loyal donor |
@ISMAJORDONOR | bit | INOUT | Is Major donor |
@CURRENCYID | uniqueidentifier | INOUT | Currency ID |
@ISADVOCATE | bit | INOUT | |
@ISBANK | bit | INOUT | |
@ISFACULTY | bit | INOUT | |
@ISFUNDRAISINGGROUP | bit | INOUT | |
@ISGRANTOR | bit | INOUT | |
@ISMEMBER | bit | INOUT | |
@ISPATRON | bit | INOUT | |
@ISSPONSOR | bit | INOUT | |
@ISSTUDENT | bit | INOUT | |
@GROUPROLES | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_GROUPMEMBER (
@ID uniqueidentifier,
@NAME nvarchar(700) = null output,
@CONSTITUENTID uniqueidentifier = null output,
@MEMBERSINCE datetime = null output,
@ISINACTIVE bit = null output,
@ADDRESS nvarchar(300) = null output,
@LOOKUPID nvarchar(100) = null output,
@PHONENUMBER nvarchar(100) = null output,
@EMAILADDRESS nvarchar(100) = null output,
@RELATIONSHIPWITHPRIMARY nvarchar(max) = null output,
@ACTIVECONSTITUENCIES nvarchar(max) = null output,
@TOTALGIVING money = null output,
@GROUPS xml = null output,
@DATALOADED bit = 0 output,
@ISBOARDMEMBER bit = null output,
@ISSTAFF bit = null output,
@ISDONOR bit = null output,
@ISFUNDRAISER bit = null output,
@ISPROSPECT bit = null output,
@ISVOLUNTEER bit = null output,
@ISREGISTRANT bit = null output,
@ISVENDOR bit = null output,
@ISALUMNUS bit = null output,
@ISRECOGNITION bit = null output,
@ISRELATION bit = null output,
@USERDEFINEDCONSTITUENCIES xml = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@ISPLANNEDGIVER bit = null output,
@ISCOMMITTEE bit = null output,
@ISCOMMITTEEMEMBER bit = null output,
@ISLOYALDONOR bit = null output,
@ISMAJORDONOR bit = null output,
@CURRENCYID uniqueidentifier = null output,
@ISADVOCATE bit = null output,
@ISBANK bit = null output,
@ISFACULTY bit = null output,
@ISFUNDRAISINGGROUP bit = null output,
@ISGRANTOR bit = null output,
@ISMEMBER bit = null output,
@ISPATRON bit = null output,
@ISSPONSOR bit = null output,
@ISSTUDENT bit = null output,
@GROUPROLES xml = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @CURRENTDATE datetime;
set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @FEATUREID uniqueidentifier
set @FEATUREID = '225531f2-2ecb-47d5-8485-d1c17f06557b'
declare @FEATURETYPE tinyint
set @FEATURETYPE = 1
declare @PRIMARYMEMBERID uniqueidentifier;
select @PRIMARYMEMBERID = MEMBERID
from dbo.GROUPMEMBER
where GROUPID = (select GROUPID from dbo.GROUPMEMBER WHERE ID = @ID)
and ISPRIMARY = 1;
declare @MULTICURRENCYENABLED bit;
set @MULTICURRENCYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');
if @MULTICURRENCYENABLED = 1
begin
set @CURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
end
else
begin
set @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
end
select
@DATALOADED = 1,
@NAME = DISPLAYNAME.NAME,
@CONSTITUENTID = CONSTITUENT.ID,
@MEMBERSINCE = (
select top 1 DATEFROM
from dbo.GROUPMEMBERDATERANGE
where GROUPMEMBERID = @ID
and DATETO is null
),
@ISINACTIVE = CONSTITUENT.ISINACTIVE,
@ADDRESS = dbo.UFN_BUILDFULLADDRESS(ADDRESS.ID, ADDRESS.ADDRESSBLOCK, ADDRESS.CITY, ADDRESS.STATEID, ADDRESS.POSTCODE, ADDRESS.COUNTRYID),
@LOOKUPID = CONSTITUENT.LOOKUPID,
@PHONENUMBER = dbo.UFN_PHONE_GETINTERNATIONALNUMBER(PHONE.COUNTRYID, PHONE.NUMBER),
@EMAILADDRESS = EMAILADDRESS.EMAILADDRESS,
@RELATIONSHIPWITHPRIMARY =
case
when GROUPMEMBER.ISPRIMARY = 1
then ''
else (
select
dbo.UDA_BUILDLIST(distinct RELATIONSHIPTYPECODE.DESCRIPTION)
from dbo.RELATIONSHIP
inner join dbo.RELATIONSHIPTYPECODE on RELATIONSHIP.RELATIONSHIPTYPECODEID = RELATIONSHIPTYPECODE.ID
where CONSTITUENT.ID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
and RELATIONSHIP.RECIPROCALCONSTITUENTID = @PRIMARYMEMBERID
)
end,
@ACTIVECONSTITUENCIES = ( --This is just the list of user-defined constituencies, as the others are links now.
select dbo.UDA_BUILDLISTWITHDELIMITER(distinct DESCRIPTION, ' ')
from dbo.CONSTITUENCY
inner join dbo.CONSTITUENCYCODE on CONSTITUENCY.CONSTITUENCYCODEID = CONSTITUENCYCODE.ID
where CONSTITUENCY.CONSTITUENTID = CONSTITUENT.ID
and (
(CONSTITUENCY.DATEFROM is null
and (CONSTITUENCY.DATETO is null
or CONSTITUENCY.DATETO > @CURRENTDATE
)
)
or (CONSTITUENCY.DATETO is null
and (CONSTITUENCY.DATEFROM is null
or CONSTITUENCY.DATEFROM <= @CURRENTDATE
)
)
or (CONSTITUENCY.DATEFROM <= @CURRENTDATE
and CONSTITUENCY.DATETO > @CURRENTDATE
)
)
),
@TOTALGIVING = dbo.UFN_CONSTITUENT_GETGIFTTOTALINCURRENCY_RESPECTSITE2(GROUPMEMBER.MEMBERID, @CURRENTAPPUSERID, @CURRENCYID, @FEATUREID, @FEATURETYPE),
@GROUPS = dbo.UFN_CONSTITUENT_GETGROUPS_TOITEMLISTXML(GROUPMEMBER.MEMBERID),
@USERDEFINEDCONSTITUENCIES = (
select distinct CONSTITUENCYCODE.DESCRIPTION
from dbo.CONSTITUENCY
inner join dbo.CONSTITUENCYCODE on CONSTITUENCY.CONSTITUENCYCODEID = CONSTITUENCYCODE.ID
where CONSTITUENCY.CONSTITUENTID = CONSTITUENT.ID
and (
(CONSTITUENCY.DATEFROM is null
and (CONSTITUENCY.DATETO is null
or CONSTITUENCY.DATETO > @CURRENTDATE
)
)
or (CONSTITUENCY.DATETO is null
and (CONSTITUENCY.DATEFROM is null
or CONSTITUENCY.DATEFROM <= @CURRENTDATE
)
)
or (CONSTITUENCY.DATEFROM <= @CURRENTDATE
and CONSTITUENCY.DATETO > @CURRENTDATE
)
)
for xml raw('ITEM'),type,elements,root('USERDEFINEDCONSTITUENCIES'),BINARY BASE64
),
@ISADVOCATE = dbo.UFN_CONSTITUENT_ISADVOCATE(CONSTITUENT.ID),
@ISALUMNUS = dbo.UFN_CONSTITUENT_ISALUMNUS(CONSTITUENT.ID),
@ISBANK = dbo.UFN_CONSTITUENT_ISBANK(CONSTITUENT.ID),
@ISBOARDMEMBER = dbo.UFN_CONSTITUENT_ISBOARDMEMBER(CONSTITUENT.ID),
@ISCOMMITTEE = dbo.UFN_CONSTITUENT_ISCOMMITTEE(GROUPMEMBER.MEMBERID),
@ISCOMMITTEEMEMBER = dbo.UFN_CONSTITUENT_ISCOMMITTEEMEMBER(GROUPMEMBER.MEMBERID),
@ISDONOR = dbo.UFN_CONSTITUENT_ISDONOR(CONSTITUENT.ID),
@ISFACULTY = dbo.UFN_CONSTITUENT_ISFACULTY(CONSTITUENT.ID),
@ISFUNDRAISER = dbo.UFN_CONSTITUENT_ISFUNDRAISER(CONSTITUENT.ID),
@ISFUNDRAISINGGROUP = dbo.UFN_CONSTITUENT_ISFUNDRAISINGGROUP(CONSTITUENT.ID),
@ISGRANTOR = dbo.UFN_CONSTITUENT_ISGRANTOR(CONSTITUENT.ID),
@ISLOYALDONOR = dbo.UFN_CONSTITUENT_ISLOYALDONOR(CONSTITUENT.ID),
@ISMAJORDONOR = dbo.UFN_CONSTITUENT_ISMAJORDONOR(CONSTITUENT.ID),
@ISMEMBER = dbo.UFN_CONSTITUENT_ISMEMBER(CONSTITUENT.ID, @CURRENTAPPUSERID),
@ISPATRON = dbo.UFN_CONSTITUENT_ISPATRON(CONSTITUENT.ID),
@ISPLANNEDGIVER = dbo.UFN_CONSTITUENT_ISPLANNEDGIVER(GROUPMEMBER.MEMBERID),
@ISPROSPECT = dbo.UFN_CONSTITUENT_ISPROSPECT(CONSTITUENT.ID),
@ISRECOGNITION = dbo.UFN_CONSTITUENT_ISRECOGNITION(CONSTITUENT.ID, @CURRENTAPPUSERID),
@ISREGISTRANT = dbo.UFN_CONSTITUENT_ISREGISTRANT(CONSTITUENT.ID),
@ISRELATION = dbo.UFN_CONSTITUENT_ISRELATION(CONSTITUENT.ID),
@ISSPONSOR = dbo.UFN_CONSTITUENT_ISSPONSOR(CONSTITUENT.ID),
@ISSTAFF = dbo.UFN_CONSTITUENT_ISSTAFF(CONSTITUENT.ID),
@ISSTUDENT = dbo.UFN_CONSTITUENT_ISSTUDENT(CONSTITUENT.ID),
@ISVENDOR = dbo.UFN_CONSTITUENT_ISVENDOR(CONSTITUENT.ID),
@ISVOLUNTEER = dbo.UFN_CONSTITUENT_ISVOLUNTEER(CONSTITUENT.ID),
@GROUPROLES = dbo.UFN_CONSTITUENT_GETCURRENTGROUPROLES_TOITEMLISTXML(GROUPMEMBER.ID)
from dbo.GROUPMEMBER
inner join dbo.CONSTITUENT on GROUPMEMBER.MEMBERID = CONSTITUENT.ID
left join dbo.PHONE on CONSTITUENT.ID = PHONE.CONSTITUENTID and PHONE.ISPRIMARY = 1
left join dbo.EMAILADDRESS on CONSTITUENT.ID = EMAILADDRESS.CONSTITUENTID and EMAILADDRESS.ISPRIMARY = 1
left join dbo.ADDRESS on CONSTITUENT.ID = ADDRESS.CONSTITUENTID and ADDRESS.ISPRIMARY = 1
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENT.ID) DISPLAYNAME
where GROUPMEMBER.ID = @ID;
if @ISLOYALDONOR = 1 or @ISMAJORDONOR = 1
begin
set @ISDONOR = 0;
end