UFN_PDACCOUNT_GETSITEID

Returns SITE ID for transaction being generated.

Return

Return Type
uniqueidentifier

Parameters

Parameter Parameter Type Mode Description
@REVENUESPLITID uniqueidentifier IN
@REVENUETRANSACTIONTYPECODE tinyint IN
@APPLICATIONCODE tinyint IN
@PAYMENTMETHODCODE tinyint IN
@DESIGNATIONID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_PDACCOUNT_GETSITEID(
            @REVENUESPLITID as uniqueidentifier,
            @REVENUETRANSACTIONTYPECODE as tinyint,
            @APPLICATIONCODE tinyint,
            @PAYMENTMETHODCODE as tinyint,
            @DESIGNATIONID as uniqueidentifier) 
    returns uniqueidentifier
    with execute as caller
    as begin
        declare @RESULT as uniqueidentifier = null

        if @APPLICATIONCODE = 1 -- Event Registration        

            begin
                select TOP 1 @RESULT =  T3.SITEID from EVENTREGISTRANTPAYMENT T1
                inner join REGISTRANT T2 on T1.REGISTRANTID=T2.ID 
                inner join EVENTSITE T3 on T3.EVENTID=T2.EVENTID
                    where T1.PAYMENTID = @REVENUESPLITID    
                order by T3.DATEADDED desc
                return @RESULT    
            end

        if @APPLICATIONCODE = 5    -- Membership    

            begin
                select @RESULT=SITEID from MEMBERSHIPPROGRAM T1
                join MEMBERSHIPLEVEL T2 on T1.ID = T2.MEMBERSHIPPROGRAMID
                join MEMBERSHIPTRANSACTION T3 on T2.ID = T3.MEMBERSHIPLEVELID 
                where REVENUESPLITID =  @REVENUESPLITID

                return @RESULT
            end

        if @RESULT is null
            begin
                select @RESULT=SITEID  from DESIGNATIONLEVEL T1
                join DESIGNATION T2 on T1.ID = T2.DESIGNATIONLEVEL1ID
                join REVENUESPLIT T3  on T2.ID = T3.DESIGNATIONID 
                where T3.ID =  @REVENUESPLITID

                if @RESULT is null
                    select @RESULT=SITEID  from DESIGNATIONLEVEL T1
                    join DESIGNATION T2 on T1.ID = T2.DESIGNATIONLEVEL2ID
                    join REVENUESPLIT T3  on T2.ID = T3.DESIGNATIONID 
                    where T3.ID =  @REVENUESPLITID                

                if @RESULT is null
                    select @RESULT=SITEID  from DESIGNATIONLEVEL T1
                    join DESIGNATION T2 on T1.ID = T2.DESIGNATIONLEVEL3ID
                    join REVENUESPLIT T3  on T2.ID = T3.DESIGNATIONID 
                    where T3.ID =  @REVENUESPLITID    

                if @RESULT is null
                    select @RESULT=SITEID  from DESIGNATIONLEVEL T1
                    join DESIGNATION T2 on T1.ID = T2.DESIGNATIONLEVEL4ID
                    join REVENUESPLIT T3  on T2.ID = T3.DESIGNATIONID 
                    where T3.ID =  @REVENUESPLITID        

                if @RESULT is null
                    select @RESULT=SITEID  from DESIGNATIONLEVEL T1
                    join DESIGNATION T2 on T1.ID = T2.DESIGNATIONLEVEL5ID
                    join REVENUESPLIT T3  on T2.ID = T3.DESIGNATIONID 
                    where T3.ID =  @REVENUESPLITID                            

                return @RESULT            
            end

        return @RESULT
    end