TR_MEMBERSHIPPROGRAM_INSERTUPDATE_CURRENCY

Definition

Copy


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

                            if update(ADDONADULTPRICE) or update(ADDONGUESTPRICE)
                            begin
                                declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 

                                update
                                    dbo.MEMBERSHIPPROGRAM
                                set
                                    MEMBERSHIPPROGRAM.ORGANIZATIONADDONADULTPRICE = MEMBERSHIPPROGRAM.ADDONADULTPRICE,
                                    MEMBERSHIPPROGRAM.ORGANIZATIONADDONGUESTPRICE = MEMBERSHIPPROGRAM.ADDONGUESTPRICE,                    
                                    MEMBERSHIPPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                                    MEMBERSHIPPROGRAM.CHANGEDBYID = MEMBERSHIPPROGRAM.CHANGEDBYID,
                                    MEMBERSHIPPROGRAM.DATECHANGED = MEMBERSHIPPROGRAM.DATECHANGED
                                from
                                    inserted
                                inner join
                                    dbo.MEMBERSHIPPROGRAM on inserted.ID = MEMBERSHIPPROGRAM.ID
                                where
                                    MEMBERSHIPPROGRAM.ORGANIZATIONEXCHANGERATEID is null
                                    and (MEMBERSHIPPROGRAM.BASECURRENCYID is null or MEMBERSHIPPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                                    and (MEMBERSHIPPROGRAM.ORGANIZATIONADDONADULTPRICE <> MEMBERSHIPPROGRAM.ADDONADULTPRICE
                                    or MEMBERSHIPPROGRAM.ORGANIZATIONADDONGUESTPRICE <> MEMBERSHIPPROGRAM.ADDONGUESTPRICE
                                    or (MEMBERSHIPPROGRAM.ADDONADULTPRICE = 0 AND MEMBERSHIPPROGRAM.ADDONGUESTPRICE = 0)
                                     );
                            end
                        end