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;