TR_GRANTS_INSERTUPDATE_CURRENCY

Definition

Copy


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

                        declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
                        if update(MINAWARD) or update(MAXAWARD)
                        update
                            dbo.GRANTS
                        set
                            GRANTS.ORGANIZATIONMINAWARD = GRANTS.MINAWARD,
                            GRANTS.TRANSACTIONMINAWARD = GRANTS.MINAWARD,

                            GRANTS.ORGANIZATIONMAXAWARD = GRANTS.MAXAWARD,
                            GRANTS.TRANSACTIONMAXAWARD = GRANTS.MAXAWARD,

                            GRANTS.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                            GRANTS.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
                            GRANTS.CHANGEDBYID = GRANTS.CHANGEDBYID,
                            GRANTS.DATECHANGED = GRANTS.DATECHANGED
                        from
                            inserted
                        inner join
                            dbo.GRANTS on inserted.ID = GRANTS.ID
                        where
                            GRANTS.ORGANIZATIONEXCHANGERATEID is null
                            and (GRANTS.BASECURRENCYID is null or GRANTS.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                            and GRANTS.BASEEXCHANGERATEID is null
                            and (GRANTS.TRANSACTIONCURRENCYID is null or GRANTS.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
                            and
                                (
                                GRANTS.ORGANIZATIONMINAWARD <> GRANTS.MINAWARD
                                or GRANTS.TRANSACTIONMINAWARD <> GRANTS.MINAWARD
                                or GRANTS.ORGANIZATIONMAXAWARD <> GRANTS.MAXAWARD
                                or GRANTS.TRANSACTIONMAXAWARD <> GRANTS.MAXAWARD
                                or (GRANTS.MAXAWARD = 0 and GRANTS.MINAWARD = 0)
                                );
                    end