USP_DATAFORMTEMPLATE_EDIT_GROUPWEALTHCAPACITY

The save procedure used by the edit dataform template "Group Wealth Capacity Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ESTIMATEDWEALTHID uniqueidentifier IN Estimated wealth
@ESTIMATEDWEALTHVALUE money IN Estimated wealth value
@OVERALLRATINGCODEID uniqueidentifier IN Overall rating
@MAJORGIVINGCAPACITYID uniqueidentifier IN Major giving capacity
@MAJORGIVINGCAPACITYVALUE money IN Major giving capacity value

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GROUPWEALTHCAPACITY (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier,
                        @ESTIMATEDWEALTHID uniqueidentifier,
                        @ESTIMATEDWEALTHVALUE money,
                        @OVERALLRATINGCODEID uniqueidentifier,
                        @MAJORGIVINGCAPACITYID uniqueidentifier,
                        @MAJORGIVINGCAPACITYVALUE money
                    ) as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

                        set @CURRENTDATE = getdate();

                        begin try
                            declare @SYSTEMCALCULATED bit;

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

                            declare @CONFIRMED bit;

                            select
                                @CONFIRMED = CONFIRMED
                            from
                                dbo.[WEALTHCAPACITY]
                            where
                                 WEALTHCAPACITY.[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
                                                [ESTIMATEDWEALTHID] =    @ESTIMATEDWEALTHID,
                                                [ESTIMATEDWEALTHVALUE] = @ESTIMATEDWEALTHVALUE,
                                                [OVERALLRATINGCODEID] = @OVERALLRATINGCODEID,
                                                [MAJORGIVINGCAPACITYID] = @MAJORGIVINGCAPACITYID,
                                                [MAJORGIVINGCAPACITYVALUE] = @MAJORGIVINGCAPACITYVALUE,
                                                [SYSTEMCALCULATED] = @SYSTEMCALCULATED,
                                                [CHANGEDBYID] = @CHANGEAGENTID,
                                                [DATECHANGED] = @CURRENTDATE
                                            where
                                                WEALTHCAPACITY.[ID] = @ID;
                                        end
                                    else
                                        begin
                                            insert into    dbo.[WEALTHCAPACITY] (
                                                [ID],
                                                [ESTIMATEDWEALTHID],
                                                [ESTIMATEDWEALTHVALUE],
                                                [OVERALLRATINGCODEID],
                                                [MAJORGIVINGCAPACITYID],
                                                [MAJORGIVINGCAPACITYVALUE],
                                                [CONFIRMED],
                                                [SYSTEMCALCULATED],
                                                [ADDEDBYID],
                                                [CHANGEDBYID],
                                                [DATEADDED],
                                                [DATECHANGED]
                                            ) values (
                                                @ID,
                                                @ESTIMATEDWEALTHID,
                                                @ESTIMATEDWEALTHVALUE,
                                                @OVERALLRATINGCODEID,
                                                @MAJORGIVINGCAPACITYID,
                                                @MAJORGIVINGCAPACITYVALUE,
                                                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;