USP_DATAFORMTEMPLATE_ADD_GIFTINKINDAPPRAISAL
The save procedure used by the add dataform template "Gift-in-Kind Appraisal Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@GIFTINKINDPAYMENTMETHODDETAILID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@APPRAISERID | uniqueidentifier | IN | Appraiser |
@AMOUNT | money | IN | Appraised value |
@DATE | date | IN | Date of appraisal |
@DESCRIPTION | nvarchar(max) | IN | Description |
@APPRAISALFEE | money | IN | Appraisal fee |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_GIFTINKINDAPPRAISAL
(
@ID uniqueidentifier = null output,
@GIFTINKINDPAYMENTMETHODDETAILID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@APPRAISERID uniqueidentifier = null,
@AMOUNT money = null,
@DATE date = null,
@DESCRIPTION nvarchar(max) = null,
@APPRAISALFEE money = 0
)
as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
declare @TRANSACTIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASEAMOUNT money;
declare @ORGANIZATIONAMOUNT money;
declare @BASEAPPRAISALFEE money
declare @ORGANIZATIONAPPRAISALFEE money;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if not exists (select ID from dbo.GIFTINKINDPAYMENTMETHODDETAIL where ID = @GIFTINKINDPAYMENTMETHODDETAILID)
begin
insert into dbo.GIFTINKINDPAYMENTMETHODDETAIL
(
ID,
TRANSACTIONCURRENCYID,
BASECURRENCYID,
BASEEXCHANGERATEID,
ORGANIZATIONEXCHANGERATEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@GIFTINKINDPAYMENTMETHODDETAILID,
@ORGANIZATIONCURRENCYID,
@ORGANIZATIONCURRENCYID,
null,
null,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
else
begin
select
@TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
@BASECURRENCYID = BASECURRENCYID
from
dbo.GIFTINKINDPAYMENTMETHODDETAIL
where
ID = @GIFTINKINDPAYMENTMETHODDETAILID;
end
if @BASECURRENCYID is null
set @BASECURRENCYID = @ORGANIZATIONCURRENCYID;
if @TRANSACTIONCURRENCYID is null
set @TRANSACTIONCURRENCYID = @BASECURRENCYID;
declare @DATEFORRATE datetime = coalesce(@DATE, @CURRENTDATE);
set @BASEEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@TRANSACTIONCURRENCYID, @BASECURRENCYID, @DATEFORRATE, 1, null);
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @AMOUNT, @DATEFORRATE, @BASECURRENCYID, @BASEEXCHANGERATEID output, @TRANSACTIONCURRENCYID output, @BASEAMOUNT output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONAMOUNT output, @ORGANIZATIONEXCHANGERATEID output, 1;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @APPRAISALFEE, @DATEFORRATE, @BASECURRENCYID, @BASEEXCHANGERATEID output, @TRANSACTIONCURRENCYID output, @BASEAPPRAISALFEE output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONAPPRAISALFEE output, @ORGANIZATIONEXCHANGERATEID output, 0;
insert into dbo.GIFTINKINDAPPRAISAL
(
ID,
GIFTINKINDPAYMENTMETHODDETAILID,
APPRAISERID,
AMOUNT,
TRANSACTIONAMOUNT,
ORGANIZATIONAMOUNT,
DATE,
DESCRIPTION,
TRANSACTIONCURRENCYID,
BASECURRENCYID,
BASEEXCHANGERATEID,
ORGANIZATIONEXCHANGERATEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
APPRAISALFEE,
TRANSACTIONAPPRAISALFEE,
ORGANIZATIONAPPRAISALFEE
)
values
(
@ID,
@GIFTINKINDPAYMENTMETHODDETAILID,
@APPRAISERID,
@BASEAMOUNT,
@AMOUNT,
@ORGANIZATIONAMOUNT,
@DATE,
@DESCRIPTION,
@TRANSACTIONCURRENCYID,
@BASECURRENCYID,
@BASEEXCHANGERATEID,
@ORGANIZATIONEXCHANGERATEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@BASEAPPRAISALFEE,
@APPRAISALFEE,
@ORGANIZATIONAPPRAISALFEE
);
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0