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;