USP_SIMPLEDATALIST_POLITICALDONATION_SOURCES

This simple list returns all sources for a given WealthID in the WealthPoint Political Donation table.

Parameters

Parameter Parameter Type Mode Description
@WEALTHID uniqueidentifier IN WEALTHID

Definition

Copy


                CREATE procedure dbo.USP_SIMPLEDATALIST_POLITICALDONATION_SOURCES
                (
                    @WEALTHID uniqueidentifier = null
                )
                as
                    set nocount on;

                    declare @ISGROUP bit
                    select @ISGROUP = ISGROUP from dbo.constituent where ID = @WEALTHID

                    if @ISGROUP = 1
                    begin
                        declare @MEMBERSTOINCLUDE table (MEMBERID uniqueidentifier)

                        declare @CURRENTDATEEARLIESTTIME datetime;
                        set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

                        insert into @MEMBERSTOINCLUDE (MEMBERID)
                        select
                            GM.MEMBERID
                        from dbo.GROUPMEMBER GM
                        left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
                        where
                            GM.GROUPID = @WEALTHID
                            -- the GMDR.DATETO is set to the earliest time on that day, so use a strictly greater than in checks using current day

                            and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATEEARLIESTTIME))
                            or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME))
                            or (GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME and GMDR.DATETO > @CURRENTDATEEARLIESTTIME))

                        select
                            WP.SOURCE as VALUE,
                            WP.SOURCE as LABEL
                        from 
                            @MEMBERSTOINCLUDE 
                        inner join dbo.WPPOLITICALDONATION WP
                            on MEMBERID = WP.WEALTHID
                        where
                            WP.SOURCE <> 'Federal Election Commission'

                        union

                        select 
                            WEALTHSOURCE.SOURCE as VALUE,
                            WEALTHSOURCE.SOURCE as LABEL
                        from
                            dbo.WEALTHSOURCE
                        left join dbo.WEALTHSOURCEMAPPING on
                            WEALTHSOURCE.ID = WEALTHSOURCEMAPPING.WEALTHSOURCEID
                        where
                            WEALTHSOURCEMAPPING.WEALTHTABLE = 'WPPOLITICALDONATION' and
                            WEALTHSOURCE.SOURCE <> 'Federal Election Commission'
                    end
                    else
                    begin
                        select
                            WP.SOURCE as VALUE,
                            WP.SOURCE as LABEL
                        from
                            dbo.WPPOLITICALDONATION WP
                        where
                            WP.WEALTHID = @WEALTHID OR @WEALTHID is null and
                            WP.SOURCE <> 'Federal Election Commission'
                        union

                        select 
                            WEALTHSOURCE.SOURCE as VALUE,
                            WEALTHSOURCE.SOURCE as LABEL
                        from
                            dbo.WEALTHSOURCE
                        left join dbo.WEALTHSOURCEMAPPING on
                            WEALTHSOURCE.ID = WEALTHSOURCEMAPPING.WEALTHSOURCEID
                        where
                            WEALTHSOURCEMAPPING.WEALTHTABLE = 'WPPOLITICALDONATION' and
                            WEALTHSOURCE.SOURCE <> 'Federal Election Commission'
                    end