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