USP_DATAFORMTEMPLATE_EDIT_WEALTHCAPACITY

The save procedure used by the edit dataform template "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
@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_WEALTHCAPACITY
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID            uniqueidentifier,
                        @ESTIMATEDWEALTHID        uniqueidentifier,
                        @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
                                                                     [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,
                                            [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],
                                            [OVERALLRATINGCODEID],
                                            [MAJORGIVINGCAPACITYID],
                                            [MAJORGIVINGCAPACITYVALUE],
                                            [CONFIRMED],
                                            [SYSTEMCALCULATED],
                                            [ADDEDBYID],
                                            [CHANGEDBYID],
                                            [DATEADDED],
                                            [DATECHANGED]
                                        ) values (
                                            @ID,
                                            @ESTIMATEDWEALTHID,
                                            @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;