TR_DESIGNATIONLEVELRECIPIENT_INSERTUPDATE_CURRENCY

Definition

Copy


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

                            declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
                            if update(AMOUNT)
                            update
                                dbo.DESIGNATIONLEVELRECIPIENT
                            set
                                DESIGNATIONLEVELRECIPIENT.ORGANIZATIONAMOUNT = DESIGNATIONLEVELRECIPIENT.AMOUNT,
                                DESIGNATIONLEVELRECIPIENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                                DESIGNATIONLEVELRECIPIENT.CHANGEDBYID = DESIGNATIONLEVELRECIPIENT.CHANGEDBYID,
                                DESIGNATIONLEVELRECIPIENT.DATECHANGED = DESIGNATIONLEVELRECIPIENT.DATECHANGED
                            from
                                inserted
                            inner join
                                dbo.DESIGNATIONLEVELRECIPIENT on inserted.ID = DESIGNATIONLEVELRECIPIENT.ID
                            where
                                DESIGNATIONLEVELRECIPIENT.ORGANIZATIONEXCHANGERATEID is null
                                and (DESIGNATIONLEVELRECIPIENT.BASECURRENCYID is null or DESIGNATIONLEVELRECIPIENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                                and
                                (
                                    DESIGNATIONLEVELRECIPIENT.ORGANIZATIONAMOUNT <> DESIGNATIONLEVELRECIPIENT.AMOUNT
                                    or DESIGNATIONLEVELRECIPIENT.AMOUNT = 0
                                );
                        end