USP_DATALIST_CONSTITUENTPROFILEDASHBOARDPRIMARYCONTACT
This datalist returns the group/household's primary contact info that is used by the constituent profile dashboard.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Constituent |
@ISVISIBLE | bit | IN | Visible |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTPROFILEDASHBOARDPRIMARYCONTACT
(
@CONSTITUENTID uniqueidentifier,
@ISVISIBLE bit = 1,
@CURRENTAPPUSERID uniqueidentifier
)
as
set nocount on;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
declare @APPUSER_IN_NONSITEROLE bit;
declare @APPUSER_IN_NOSITEROLE bit;
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NONSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NONSITEROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SITE_ROLE(@CURRENTAPPUSERID);
if @ISVISIBLE = 1
begin
select
NF.NAME,
dbo.UFN_BUILDFULLADDRESS(A.ID, A.ADDRESSBLOCK, A.CITY, A.STATEID, A.POSTCODE, A.COUNTRYID) ADDRESS,
case when A.DONOTMAIL = 0 then 'No' else 'Yes' end DONOTMAIL,
case when E.DONOTEMAIL = 0 then 'No' else 'Yes' end DONOTEMAIL,
case when P.DONOTCALL = 0 then 'No' else 'Yes' end DONOTPHONE,
C.WEBADDRESS,
dbo.UFN_PHONE_GETINTERNATIONALNUMBER(P.COUNTRYID, P.NUMBER) as NUMBER,
E.EMAILADDRESS,
C.DATEADDED
from dbo.CONSTITUENT C
inner join dbo.GROUPMEMBER GM on GM.MEMBERID = C.ID and GM.ISPRIMARY = 1
left outer join dbo.ADDRESS A on C.ID = A.CONSTITUENTID and A.ISPRIMARY = 1
left outer join dbo.PHONE P on C.ID = P.CONSTITUENTID and P.ISPRIMARY = 1
left outer join dbo.EMAILADDRESS E on C.ID = E.CONSTITUENTID and E.ISPRIMARY = 1
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(C.ID) NF
where
GM.GROUPID = @CONSTITUENTID
and (@ISADMIN = 1 or
(@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, GM.MEMBERID, @APPUSER_IN_NOSECGROUPROLE) = 1)
and
(@APPUSER_IN_NONSITEROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT_BYSITE(@CURRENTAPPUSERID, GM.MEMBERID, @APPUSER_IN_NOSITEROLE) = 1)
);
end