TR_GIFTINKINDAPPRAISAL_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_GIFTINKINDAPPRAISAL_INSERTUPDATE_CURRENCY] on [dbo].[GIFTINKINDAPPRAISAL]
after insert, update
not for replication
as
begin
set nocount on;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
-- If we try to save an amount without explicitly setting an organization amount
-- and an exchange rate, copy the amount to the organization and transaction amount fields.
if update(AMOUNT) or update(APPRAISALFEE)
begin
update
dbo.GIFTINKINDAPPRAISAL
set
GIFTINKINDAPPRAISAL.ORGANIZATIONAMOUNT = GIFTINKINDAPPRAISAL.AMOUNT,
GIFTINKINDAPPRAISAL.TRANSACTIONAMOUNT = GIFTINKINDAPPRAISAL.AMOUNT,
GIFTINKINDAPPRAISAL.ORGANIZATIONAPPRAISALFEE = GIFTINKINDAPPRAISAL.APPRAISALFEE,
GIFTINKINDAPPRAISAL.TRANSACTIONAPPRAISALFEE = GIFTINKINDAPPRAISAL.APPRAISALFEE,
GIFTINKINDAPPRAISAL.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
GIFTINKINDAPPRAISAL.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
GIFTINKINDAPPRAISAL.CHANGEDBYID = GIFTINKINDAPPRAISAL.CHANGEDBYID,
GIFTINKINDAPPRAISAL.DATECHANGED = GIFTINKINDAPPRAISAL.DATECHANGED
from
inserted
inner join
dbo.GIFTINKINDAPPRAISAL on inserted.ID = GIFTINKINDAPPRAISAL.ID
where
GIFTINKINDAPPRAISAL.ORGANIZATIONEXCHANGERATEID is null
and (GIFTINKINDAPPRAISAL.BASECURRENCYID is null or GIFTINKINDAPPRAISAL.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and GIFTINKINDAPPRAISAL.BASEEXCHANGERATEID is null
and (GIFTINKINDAPPRAISAL.TRANSACTIONCURRENCYID is null or GIFTINKINDAPPRAISAL.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
GIFTINKINDAPPRAISAL.ORGANIZATIONAMOUNT <> GIFTINKINDAPPRAISAL.AMOUNT
or GIFTINKINDAPPRAISAL.TRANSACTIONAMOUNT <> GIFTINKINDAPPRAISAL.AMOUNT
or GIFTINKINDAPPRAISAL.ORGANIZATIONAPPRAISALFEE <> GIFTINKINDAPPRAISAL.APPRAISALFEE
or GIFTINKINDAPPRAISAL.TRANSACTIONAPPRAISALFEE <> GIFTINKINDAPPRAISAL.APPRAISALFEE
or (GIFTINKINDAPPRAISAL.AMOUNT = 0 AND GIFTINKINDAPPRAISAL.APPRAISALFEE = 0)
);
end
end