USP_CONSTITUENT_WEALTHCAPACITY_FROMFORMULA_2

Parameters

Parameter Parameter Type Mode Description
@WEALTHID uniqueidentifier IN
@WEALTHCAPACITYFORMULAID uniqueidentifier IN
@ESTIMATEDWEALTHVALUE money INOUT
@ESTIMATEDWEALTHID uniqueidentifier INOUT
@MAJORGIVINGCAPACITYVALUE money INOUT
@MAJORGIVINGCAPACITYID uniqueidentifier INOUT
@MAJORGIVINGCAPACITYBASISVALUE nvarchar(250) INOUT

Definition

Copy


            create procedure dbo.USP_CONSTITUENT_WEALTHCAPACITY_FROMFORMULA_2 (
                @WEALTHID uniqueidentifier,
                @WEALTHCAPACITYFORMULAID uniqueidentifier,
                @ESTIMATEDWEALTHVALUE money output,
                @ESTIMATEDWEALTHID uniqueidentifier output,
                @MAJORGIVINGCAPACITYVALUE money output,
                @MAJORGIVINGCAPACITYID uniqueidentifier output,
                @MAJORGIVINGCAPACITYBASISVALUE nvarchar(250) output
            ) as
                set nocount on;

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

                if @WEALTHID is not null and @ISGROUP = 0 begin
                    exec dbo.USP_CONSTITUENT_WEALTHCAPACITYVALUES_FROMFORMULA_2
                        @WEALTHID,
                        @WEALTHCAPACITYFORMULAID,
                        @ESTIMATEDWEALTHVALUE output,
                        @MAJORGIVINGCAPACITYVALUE output,
                        @MAJORGIVINGCAPACITYBASISVALUE output;

                    if @ESTIMATEDWEALTHVALUE > 0 begin
                        -- Get estimated wealth and major giving capacity IDs.

                        select top 1 @ESTIMATEDWEALTHID = ID from dbo.ESTIMATEDWEALTH where MINIMUMAMOUNT<=@ESTIMATEDWEALTHVALUE order by MINIMUMAMOUNT desc;
                        if  @ESTIMATEDWEALTHVALUE < (select min(MINIMUMAMOUNT) from dbo.ESTIMATEDWEALTH)
                            select @ESTIMATEDWEALTHID = ID from dbo.ESTIMATEDWEALTH where MINIMUMAMOUNT = (select min(MINIMUMAMOUNT) from dbo.ESTIMATEDWEALTH);
                        else if @ESTIMATEDWEALTHID is null
                            select @ESTIMATEDWEALTHID = ID from dbo.ESTIMATEDWEALTH where MINIMUMAMOUNT = (select max(MINIMUMAMOUNT) from dbo.ESTIMATEDWEALTH);

                        select top 1 @MAJORGIVINGCAPACITYID = ID from dbo.MAJORGIVINGCAPACITY where MINIMUMAMOUNT<=@MAJORGIVINGCAPACITYVALUE order by MINIMUMAMOUNT desc;
                        if @MAJORGIVINGCAPACITYVALUE < (select min(MINIMUMAMOUNT) from dbo.MAJORGIVINGCAPACITY)
                            select @MAJORGIVINGCAPACITYID = ID from dbo.MAJORGIVINGCAPACITY where MINIMUMAMOUNT = (select min(MINIMUMAMOUNT) from dbo.MAJORGIVINGCAPACITY);
                        else if @MAJORGIVINGCAPACITYID is null
                            select @MAJORGIVINGCAPACITYID = ID from dbo.MAJORGIVINGCAPACITY where MINIMUMAMOUNT = (select max(MINIMUMAMOUNT) from dbo.MAJORGIVINGCAPACITY);
                    end
                end

                return 0;