UFN_MAJORGIVINGCAPACITY_GETFORMATTEDRANGES

Returns a table containing all Major Giving Capacity Ranges formatted appropriately.

Return

Return Type
table

Definition

Copy


            create function dbo.UFN_MAJORGIVINGCAPACITY_GETFORMATTEDRANGES()
            returns @MAJORGIVINGCAPACITYRANGES_FORMATTED table(ID uniqueidentifier, RANGE nvarchar(100))
            with execute as caller

            as
            begin
                with    
                    MAJORGIVINGCAPACITY_MIN as (
                        select
                            MAJORGIVINGCAPACITY.[ID] ID,
                            MAJORGIVINGCAPACITY.[MINIMUMAMOUNT] MINAMOUNT,
                            ROW_NUMBER() over (order by MAJORGIVINGCAPACITY.[MINIMUMAMOUNT]) ROWNUMBER
                        from
                            dbo.[MAJORGIVINGCAPACITY]
                    ),

                    MAJORGIVINGCAPACITY_MIN_MAX as (
                        select    
                            MAJORGIVINGCAPACITY_MIN.[ID],        
                            MAJORGIVINGCAPACITY_MIN.[MINAMOUNT],
                            (    select
                                    convert(money,[MINAMOUNT] - 1.00)
                                 from
                                     MAJORGIVINGCAPACITY_MIN SUB
                                where 
                                    SUB.[ROWNUMBER] = MAJORGIVINGCAPACITY_MIN.[ROWNUMBER] + 1
                            ) MAXAMOUNT

                        from
                            MAJORGIVINGCAPACITY_MIN
                    )

                insert into @MAJORGIVINGCAPACITYRANGES_FORMATTED    
                select 
                    ID,
                    case 
                        when MAXAMOUNT IS NULL then
                         '$'+convert(nvarchar(50),MINAMOUNT,1) + ' and up'
                        else  
                         '$'+convert(nvarchar(50),MINAMOUNT,1) + ' - $'+ convert(nvarchar(50),MAXAMOUNT,1
                    end as [RANGE]
                from
                    MAJORGIVINGCAPACITY_MIN_MAX

                return;
            end