TR_MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT_INSERTUPDATE_CURRENCY
Definition
Copy
create trigger [dbo].[TR_MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT_INSERTUPDATE_CURRENCY] on [dbo].[MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT]
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(ORIGINALAMOUNT)
begin
update
dbo.MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT
set
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORGANIZATIONAMOUNT = MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORIGINALAMOUNT,
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.TRANSACTIONAMOUNT = MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORIGINALAMOUNT,
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.CHANGEDBYID = MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.CHANGEDBYID,
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.DATECHANGED = MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.DATECHANGED
from
inserted
inner join
dbo.MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT on inserted.ID = MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ID
where
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORGANIZATIONEXCHANGERATEID is null
and (MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.BASECURRENCYID is null or MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.BASEEXCHANGERATEID is null
and (MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.TRANSACTIONCURRENCYID is null or MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORGANIZATIONAMOUNT <> MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORIGINALAMOUNT
or MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.TRANSACTIONAMOUNT <> MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORIGINALAMOUNT
or MEMBERSHIPINSTALLMENTPLANORIGINALAMOUNT.ORIGINALAMOUNT = 0
);
end
end