TR_GIFTFEEADJUSTMENT_INSERTUPDATE_CURRENCY

Definition

Copy


                CREATE trigger [dbo].[TR_GIFTFEEADJUSTMENT_INSERTUPDATE_CURRENCY] on [dbo].[GIFTFEEADJUSTMENT] 
                after insert, update 
                not for replication
                as
                begin
                    set nocount on;

                    if update(PREVIOUSAMOUNT)
                    begin
                        declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 

                        update
                            dbo.GIFTFEEADJUSTMENT
                        set
                            GIFTFEEADJUSTMENT.ORGANIZATIONPREVIOUSAMOUNT = GIFTFEEADJUSTMENT.PREVIOUSAMOUNT,
                            GIFTFEEADJUSTMENT.TRANSACTIONPREVIOUSAMOUNT = GIFTFEEADJUSTMENT.PREVIOUSAMOUNT,
                            GIFTFEEADJUSTMENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                            GIFTFEEADJUSTMENT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
                            GIFTFEEADJUSTMENT.CHANGEDBYID = GIFTFEEADJUSTMENT.CHANGEDBYID,
                            GIFTFEEADJUSTMENT.DATECHANGED = GIFTFEEADJUSTMENT.DATECHANGED
                        from
                            inserted
                        inner join
                            dbo.GIFTFEEADJUSTMENT on inserted.ID = GIFTFEEADJUSTMENT.ID
                        where
                            GIFTFEEADJUSTMENT.ORGANIZATIONEXCHANGERATEID is null
                            and (GIFTFEEADJUSTMENT.BASECURRENCYID is null or GIFTFEEADJUSTMENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                            and GIFTFEEADJUSTMENT.BASEEXCHANGERATEID is null
                            and (GIFTFEEADJUSTMENT.TRANSACTIONCURRENCYID is null or GIFTFEEADJUSTMENT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
                            and (
                                GIFTFEEADJUSTMENT.ORGANIZATIONPREVIOUSAMOUNT <> GIFTFEEADJUSTMENT.PREVIOUSAMOUNT
                                or GIFTFEEADJUSTMENT.TRANSACTIONPREVIOUSAMOUNT <> GIFTFEEADJUSTMENT.PREVIOUSAMOUNT
                                or GIFTFEEADJUSTMENT.PREVIOUSAMOUNT = 0
                            );
                    end
                end