USP_DATALIST_CONSTITUENTPROFILEDASHBOARDBIO

This datalist returns biographical 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_CONSTITUENTPROFILEDASHBOARDBIO
                    (
                        @CONSTITUENTID uniqueidentifier,
                        @ISVISIBLE bit = 1,
                        @CURRENTAPPUSERID uniqueidentifier
                    )
                    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);

                        if @ISVISIBLE = 1
                        begin
                            declare @SSN nvarchar(11);
                            exec dbo.USP_GET_KEY_ACCESS;
                            select @SSN = coalesce(convert(nvarchar(20), DecryptByKey(SSN)),'')
                            from dbo.CONSTITUENT
                            where ID = @CONSTITUENTID;
                            close symmetric key sym_BBInfinity;

                            if @SSN <> ''
                                set @SSN = 'xxx-xx-' + substring(replace(@SSN, '-', ''), 6, 4)

                            select 
                                c.NICKNAME,
                                c.MAIDENNAME,
                                gc.DESCRIPTION GENDER,
                                c.BIRTHDATE,
                                case when dc.ID is null and c.BIRTHDATE <> '00000000' and not substring(c.BIRTHDATE,1,4) = '0000' then c.AGE else null end as AGE,
                                case when dc.ID is null then 'No' else 'Yes' end DECEASED,
                                coalesce(dc.DECEASEDDATE, '') DECEASEDDATE,
                                @SSN SSN,
                                c.LOOKUPID,
                                case when c.GIVESANONYMOUSLY = 0 then 'No' else 'Yes' end GIVESANONYMOUSLY,
                                case when c.DONOTMAIL = 0 then 'No' else 'Yes' end DONOTMAIL,
                                case when c.DONOTEMAIL = 0 then 'No' else 'Yes' end DONOTEMAIL,
                                case when c.DONOTPHONE = 0 then 'No' else 'Yes' end DONOTPHONE,
                                ms.DESCRIPTION MARITALSTATUS,
                                case when c.ISINACTIVE = 0 then 'No' else 'Yes' end ISINACTIVE,
                                aca.DESCRIPTION ADDEDBY,
                                c.DATEADDED,
                                cca.DESCRIPTION CHANGEDBY,
                                c.DATECHANGED,
                                c.WEBADDRESS,
                                c.ISORGANIZATION,
                                dbo.UFN_INDUSTRYCODE_GETDESCRIPTION(od.INDUSTRYCODEID) as INDUSTRY,
                                coalesce(od.NUMEMPLOYEES,0) as NUMEMPLOYEES,
                                coalesce(od.NUMSUBSIDIARIES,0) as NUMSUBSIDIARIES,
                                (select NAME from dbo.CONSTITUENT where ID = od.PARENTCORPID) as PARENTCORP,
                                (select NF.NAME
                                from dbo.RELATIONSHIP R
                                    outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(R.RECIPROCALCONSTITUENTID) NF
                                    where C.ID = R.RELATIONSHIPCONSTITUENTID and R.ISSPOUSE = 1 
                                        and (@ISADMIN = 1 or 
                                        @APPUSER_IN_NONRACROLE = 1 or
                                        dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, R.RECIPROCALCONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)) as SPOUSENAME,

                                (select CODE + ' - ' + DESCRIPTION from dbo.CONSTITUENTINACTIVITYREASONCODE where ID = CONSTITUENTINACTIVEDETAIL.CONSTITUENTINACTIVITYREASONCODEID) as INACTIVEREASONCODE,
                                CONSTITUENTINACTIVEDETAIL.DETAILS as INACTIVEDETAILS,
                                --WI 203780.  Pick up middlename,title1&2,suffix1&2

                                c.MIDDLENAME,T1.DESCRIPTION as TITLE1,T2.DESCRIPTION as TITLE2,
                                S1.DESCRIPTION as SUFFIX1,S2.DESCRIPTION as SUFFIX2
                            from
                                dbo.CONSTITUENT c
                                left outer join dbo.DECEASEDCONSTITUENT dc
                                    on c.ID = dc.ID
                                left outer join dbo.MARITALSTATUSCODE ms
                                    on c.MARITALSTATUSCODEID = ms.ID
                                left join dbo.ORGANIZATIONDATA od
                                    on c.ID = od.ID
                                inner join dbo.CHANGEAGENT aca
                                    on c.ADDEDBYID = aca.ID
                                inner join dbo.CHANGEAGENT cca
                                    on c.CHANGEDBYID = cca.ID
                                left outer join dbo.CONSTITUENTINACTIVEDETAIL 
                                    on c.ID = CONSTITUENTINACTIVEDETAIL.ID
                                left outer join dbo.TITLECODE T1 on T1.ID = c.TITLECODEID
                                left outer join dbo.TITLECODE T2 on T2.ID = c.TITLE2CODEID
                                left outer join dbo.SUFFIXCODE S1 on S1.ID = c.SUFFIXCODEID
                                left outer join dbo.SUFFIXCODE S2 on S2.ID = c.SUFFIX2CODEID
                                left outer join dbo.GENDERCODE gc on gc.ID = c.GENDERCODEID
                            where
                                c.ID = @CONSTITUENTID
                        end