![]() |
---|
CREATE trigger [dbo].[TR_GIFTINKINDPAYMENTMETHODDETAIL_INSERTUPDATE_CURRENCY] on [dbo].[GIFTINKINDPAYMENTMETHODDETAIL] after insert, update not for replication as begin set nocount on; declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); -- If we try to save a sale amount or broker fee without explicitly setting an organization -- amount and an exchange rate, copy the amount and fee to their organization and transaction -- amount fields. if update(FAIRMARKETVALUE) begin update dbo.GIFTINKINDPAYMENTMETHODDETAIL set GIFTINKINDPAYMENTMETHODDETAIL.ORGANIZATIONFAIRMARKETVALUE = GIFTINKINDPAYMENTMETHODDETAIL.FAIRMARKETVALUE, GIFTINKINDPAYMENTMETHODDETAIL.TRANSACTIONFAIRMARKETVALUE = GIFTINKINDPAYMENTMETHODDETAIL.FAIRMARKETVALUE, GIFTINKINDPAYMENTMETHODDETAIL.BASECURRENCYID = @ORGANIZATIONCURRENCYID, GIFTINKINDPAYMENTMETHODDETAIL.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID, GIFTINKINDPAYMENTMETHODDETAIL.CHANGEDBYID = GIFTINKINDPAYMENTMETHODDETAIL.CHANGEDBYID, GIFTINKINDPAYMENTMETHODDETAIL.DATECHANGED = GIFTINKINDPAYMENTMETHODDETAIL.DATECHANGED from inserted inner join dbo.GIFTINKINDPAYMENTMETHODDETAIL on inserted.ID = GIFTINKINDPAYMENTMETHODDETAIL.ID where GIFTINKINDPAYMENTMETHODDETAIL.ORGANIZATIONEXCHANGERATEID is null and (GIFTINKINDPAYMENTMETHODDETAIL.BASECURRENCYID is null or GIFTINKINDPAYMENTMETHODDETAIL.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and GIFTINKINDPAYMENTMETHODDETAIL.BASEEXCHANGERATEID is null and (GIFTINKINDPAYMENTMETHODDETAIL.TRANSACTIONCURRENCYID is null or GIFTINKINDPAYMENTMETHODDETAIL.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID) and ( GIFTINKINDPAYMENTMETHODDETAIL.ORGANIZATIONFAIRMARKETVALUE <> GIFTINKINDPAYMENTMETHODDETAIL.FAIRMARKETVALUE or GIFTINKINDPAYMENTMETHODDETAIL.TRANSACTIONFAIRMARKETVALUE <> GIFTINKINDPAYMENTMETHODDETAIL.FAIRMARKETVALUE or GIFTINKINDPAYMENTMETHODDETAIL.FAIRMARKETVALUE = 0 ); end end |