UFN_SMARTQUERY_CONSTITUENTS_IN_SELECTION
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SELECTIONID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@MAXROWS | int | IN |
Definition
Copy
create function dbo.UFN_SMARTQUERY_CONSTITUENTS_IN_SELECTION
(
@SELECTIONID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@MAXROWS int
)
returns @T table
(
ID uniqueidentifier not null,
RECORDTYPE nvarchar(11),
KEYNAME nvarchar(154),
FIRSTNAME nvarchar(154),
NAME nvarchar(154),
ADDRESSBLOCK nvarchar(150),
CITY nvarchar(50),
STATE nvarchar(50),
POSTCODE nvarchar(12),
LOOKUPID nvarchar(36)
)
as
begin
declare @ISADMIN bit;
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
declare @ids table (ID uniqueidentifier PRIMARY KEY);
insert into @ids
select ID from dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID);
insert into @T
select top (@MAXROWS)
C.ID,
CASE WHEN C.ISORGANIZATION = 1 THEN
'Org'
WHEN
C.ISGROUP = 0
THEN
'Individual'
ELSE
'Group'
END AS RECORDTYPE,
C.KEYNAME,
C.FIRSTNAME,
C.NAME,
A.ADDRESSBLOCK,
A.CITY,
STATE.DESCRIPTION,
A.POSTCODE,
C.LOOKUPID
from
dbo.CONSTITUENT AS C WITH (NOLOCK)
inner join @ids as s ON C.ID=s.ID
left outer join dbo.ADDRESS AS A WITH (NOLOCK) on A.CONSTITUENTID = C.ID and A.ISPRIMARY = 1
left outer join dbo.STATE on STATE.ID = A.STATEID
where
(@ISADMIN = 1 or
(
(dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORCONSTIT(@CURRENTAPPUSERID, 'B1133D8E-96B4-44fb-AFC7-3D93D674CA89', C.ID) = 1)
and
(dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORCONSTIT_BYSITE(@CURRENTAPPUSERID, 'B1133D8E-96B4-44fb-AFC7-3D93D674CA89', C.ID) = 1)
)
)
ORDER BY
C.KEYNAME, C.FIRSTNAME, C.LOOKUPID;
return;
end;