USP_DATALIST_WEALTHINFORMATIONSOCIALMEDIAACCOUNT

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@CONFIDENCE int IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


                create procedure dbo.USP_DATALIST_WEALTHINFORMATIONSOCIALMEDIAACCOUNT
                (
                    @CONSTITUENTID uniqueidentifier,
                    @CONFIDENCE int = 0,
                    @CURRENTAPPUSERID uniqueidentifier = null
                )
                as
                    set nocount on;

                    declare @ISADMIN bit;
                    declare @APPUSER_IN_NONRACROLE bit;
                    declare @APPUSER_IN_NOSECGROUPROLE 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);

                        with RECORDCONFIDENCE as(
                            select     
                                SMA.ID,
                                case
                                    when SMA.CONFIRMED = 1 then '5'
                                    when SMA.REJECTED =  1 then '0'
                                    else
                                         isnull(CR.CONFIDENCE,(select top(1) MANUALCONFIDENCE from dbo.WEALTHPOINTCONFIGURATION))
                                end as CONFIDENCE
                            from
                            dbo.SOCIALMEDIAACCOUNT SMA
                            left outer join
                                dbo.MATCHCODE MC on SMA.WPMATCHCODE = MC.MATCHCODE
                            left outer join 
                                dbo.CONFIDENCERATING CR on CR.MATCHCODEID = MC.ID    
                            left outer join
                                dbo.WEALTHSOURCE WS on CR.WEALTHSOURCEID = WS.ID 
                            where
                             WS.SOURCE like SMA.WEALTHSOURCE or WS.SOURCE is null
                        )

                        select top 1000
                            SMS.NAME as SOCIALMEDIASERVICE,
              case when LEN(SMA.EMAILADDRESS) > 20 then SUBSTRING(SMA.EMAILADDRESS, 0, 20) + '...' else SMA.EMAILADDRESS end as DISPLAYEMAILADDRESS,
                            SMA.EMAILADDRESS,
                            case when LEN(SMA.URL) > 50 then SUBSTRING(SMA.URL, 0, 50) + '...' else SMA.URL end as DISPLAYURL,
              SMA.URL AS URL
                        from
                            dbo.SOCIALMEDIAACCOUNT SMA
            inner join
              dbo.SOCIALMEDIASERVICE SMS on SMA.SOCIALMEDIASERVICEID = SMS.ID
                        left outer join
                            RECORDCONFIDENCE RC on RC.ID = SMA.ID
                        where
                            SMA.CONSTITUENTID = @CONSTITUENTID and REJECTED = 0 and
                            (((0 <= @CONFIDENCE and @CONFIDENCE <=5) and RC.CONFIDENCE >= @CONFIDENCE) or
                            ((@CONFIDENCE = 99)                     and SMA.CONFIRMED = 1))
                        and (@ISADMIN = 1 or 
                            @APPUSER_IN_NONRACROLE = 1 or
                            dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)