USP_DATAFORMTEMPLATE_EDIT_WEALTHCAPACITY_3

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@WEALTHCAPACITYFORMULAID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@ESTIMATEDWEALTHID uniqueidentifier IN
@ESTIMATEDWEALTHVALUE money IN
@OVERALLRATINGCODEID uniqueidentifier IN
@MAJORGIVINGCAPACITYID uniqueidentifier IN
@MAJORGIVINGCAPACITYVALUE money IN
@SYSTEMCALCULATED bit IN
@MAJORGIVINGCAPACITYBASISVALUE nvarchar(250) IN

Definition

Copy


                    create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_WEALTHCAPACITY_3 (
                        @ID uniqueidentifier,
                        @WEALTHCAPACITYFORMULAID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier,
                        @ESTIMATEDWEALTHID uniqueidentifier,
                        @ESTIMATEDWEALTHVALUE money,
                        @OVERALLRATINGCODEID uniqueidentifier,
                        @MAJORGIVINGCAPACITYID uniqueidentifier,
                        @MAJORGIVINGCAPACITYVALUE money,
                        @SYSTEMCALCULATED bit,
                        @MAJORGIVINGCAPACITYBASISVALUE nvarchar(250)
                    ) as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        if @CHANGEAGENTID is null
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                        begin try
                            if @SYSTEMCALCULATED = 0 begin
                                if (select
                                        1
                                    from
                                        dbo.[WEALTHCAPACITY]
                                    where
                                        [ID] = @ID and
                                        [ESTIMATEDWEALTHID] = @ESTIMATEDWEALTHID and
                                        [ESTIMATEDWEALTHVALUE] = @ESTIMATEDWEALTHVALUE and
                                        [MAJORGIVINGCAPACITYID] = @MAJORGIVINGCAPACITYID and
                                        [MAJORGIVINGCAPACITYVALUE] = @MAJORGIVINGCAPACITYVALUE and
                                        [WEALTHCAPACITYFORMULAID] = @WEALTHCAPACITYFORMULAID and
                                        [SYSTEMCALCULATED] = 1) = 1
                                    set @SYSTEMCALCULATED = 1;
                            end

                            declare @CONFIRMED bit;

                            select
                                @CONFIRMED = WC.CONFIRMED
                            from
                                dbo.WEALTHCAPACITY WC
                            where
                                 WC.ID = @ID

                            if coalesce(@CONFIRMED,0) = 0
                                begin 
                                    if (select count(ID) from dbo.[WEALTHCAPACITY] where WEALTHCAPACITY.[ID] = @ID) = 1
                                        begin
                                            update
                                                dbo.[WEALTHCAPACITY]
                                            set
                                                [WEALTHCAPACITYFORMULAID] = @WEALTHCAPACITYFORMULAID,
                                                [ESTIMATEDWEALTHID] =    @ESTIMATEDWEALTHID,
                                                [ESTIMATEDWEALTHVALUE] = coalesce(@ESTIMATEDWEALTHVALUE,0.00),
                                                [OVERALLRATINGCODEID] = @OVERALLRATINGCODEID,
                                                [MAJORGIVINGCAPACITYID] = @MAJORGIVINGCAPACITYID,
                                                [MAJORGIVINGCAPACITYVALUE] = coalesce(@MAJORGIVINGCAPACITYVALUE,0.00),
                                                [SYSTEMCALCULATED] = @SYSTEMCALCULATED,
                                                [CHANGEDBYID] = @CHANGEAGENTID,
                                                [DATECHANGED] = @CURRENTDATE,
                                                [MAJORGIVINGCAPACITYBASISVALUE] = @MAJORGIVINGCAPACITYBASISVALUE
                                            where
                                                WEALTHCAPACITY.[ID] = @ID;
                                        end
                                    else
                                        begin
                                            insert into    dbo.[WEALTHCAPACITY] (
                                                [ID],
                                                [WEALTHCAPACITYFORMULAID],
                                                [ESTIMATEDWEALTHID],
                                                [ESTIMATEDWEALTHVALUE],
                                                [OVERALLRATINGCODEID],
                                                [MAJORGIVINGCAPACITYID],
                                                [MAJORGIVINGCAPACITYVALUE],
                                                [MAJORGIVINGCAPACITYBASISVALUE],
                                                [CONFIRMED],
                                                [SYSTEMCALCULATED],
                                                [ADDEDBYID],
                                                [CHANGEDBYID],
                                                [DATEADDED],
                                                [DATECHANGED]
                                            ) values (
                                                @ID,
                                                @WEALTHCAPACITYFORMULAID,
                                                @ESTIMATEDWEALTHID,
                                                coalesce(@ESTIMATEDWEALTHVALUE,0.00),
                                                @OVERALLRATINGCODEID,
                                                @MAJORGIVINGCAPACITYID,
                                                coalesce(@MAJORGIVINGCAPACITYVALUE,0.00),
                                                @MAJORGIVINGCAPACITYBASISVALUE,
                                                0,
                                                @SYSTEMCALCULATED,
                                                @CHANGEAGENTID,
                                                @CHANGEAGENTID,
                                                @CURRENTDATE,
                                                @CURRENTDATE                            
                                            );

                                        end
                            end
                        else
                            begin
                                raiserror ('ERR_WEALTHCAPACITY_CONFIRMED_CANNOTEDIT',13,1);
                                return 0;         
                            end
                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;