TR_GIFTINKINDPAYMENTMETHODDETAIL_INSERTUPDATE_CURRENCY
Definition
Copy
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