USP_CURRENCY_GETATTRIBUTECURRENCIESFORRECORD

Returns currencies for a given record to be used when adding a currency attribute.

Parameters

Parameter Parameter Type Mode Description
@RECORDTYPE nvarchar(100) IN
@RECORDID uniqueidentifier IN
@APPUSERID uniqueidentifier IN
@RECORDTRANSACTIONCURRENCYID uniqueidentifier INOUT
@RECORDBASECURRENCYID uniqueidentifier INOUT
@APPUSERDEFAULTCURRENCYID uniqueidentifier INOUT

Definition

Copy


            create procedure dbo.USP_CURRENCY_GETATTRIBUTECURRENCIESFORRECORD
            (
                @RECORDTYPE nvarchar(100),
                @RECORDID uniqueidentifier,
                @APPUSERID uniqueidentifier,
                @RECORDTRANSACTIONCURRENCYID uniqueidentifier = null output,
                @RECORDBASECURRENCYID uniqueidentifier = null output,
                @APPUSERDEFAULTCURRENCYID uniqueidentifier = null output
            )
            as
            begin
                set nocount on;

                if upper(@RECORDTYPE) = 'DESIGNATION'
                    select @RECORDBASECURRENCYID = BASECURRENCYID from dbo.DESIGNATION where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'EVENT'
                    select @RECORDBASECURRENCYID = BASECURRENCYID from dbo.EVENT where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'FUNDING REQUEST'
                    select @RECORDTRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID, @RECORDBASECURRENCYID = BASECURRENCYID from dbo.FUNDINGREQUEST where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'FUNDRAISING PURPOSE'
                    select @RECORDBASECURRENCYID = BASECURRENCYID from dbo.DESIGNATIONLEVEL where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'GRANT PROGRAM'
                    select @RECORDTRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID, @RECORDBASECURRENCYID = BASECURRENCYID from dbo.GRANTS where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'OPPORTUNITY'
                    select @RECORDTRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID, @RECORDBASECURRENCYID = BASECURRENCYID from dbo.OPPORTUNITY where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'PLANNED GIFT'
                    select @RECORDTRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID, @RECORDBASECURRENCYID = BASECURRENCYID from dbo.PLANNEDGIFT where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'PROSPECT PLAN'
                    select @RECORDBASECURRENCYID = BASECURRENCYID from dbo.PROSPECTPLAN where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'REGISTRANT'
                    select 
                        @RECORDBASECURRENCYID = EVENT.BASECURRENCYID 
                    from 
                        dbo.REGISTRANT
                        inner join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID 
                    where 
                        REGISTRANT.ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'REVENUE'
                    select @RECORDTRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID, @RECORDBASECURRENCYID = BASECURRENCYID from dbo.REVENUE where ID = @RECORDID;

                else if upper(@RECORDTYPE) = 'SPONSORSHIP OPPORTUNITY CHILD'
                    select 
                         @RECORDBASECURRENCYID = SPONSORSHIPPROGRAM.BASECURRENCYID
                    from
                        dbo.SPONSORSHIPPROGRAM
                        inner join dbo.SPONSORSHIPOPPORTUNITYGROUP on SPONSORSHIPOPPORTUNITYGROUP.ID = SPONSORSHIPPROGRAM.SPONSORSHIPOPPORTUNITYGROUPID
                        inner join dbo.SPONSORSHIPOPPORTUNITY on SPONSORSHIPOPPORTUNITYGROUP.ID = SPONSORSHIPOPPORTUNITYGROUP.ID
                        inner join dbo.SPONSORSHIPOPPORTUNITYCHILD on SPONSORSHIPOPPORTUNITYCHILD.ID = SPONSORSHIPOPPORTUNITY.ID
                    where
                        SPONSORSHIPOPPORTUNITYCHILD.ID = @RECORDID;
                else
                    select @APPUSERDEFAULTCURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@APPUSERID);
            end