![]() |
---|
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 |