UFN_PDACCOUNT_GETSITEID_3

Return

Return Type
uniqueidentifier

Parameters

Parameter Parameter Type Mode Description
@REVENUESPLITID uniqueidentifier IN
@APPLICATIONCODE tinyint IN
@REVENUESPLITINFORMATION xml IN

Definition

Copy


            CREATE function dbo.UFN_PDACCOUNT_GETSITEID_3
            (                
                @REVENUESPLITID uniqueidentifier,
                @APPLICATIONCODE tinyint,
                @REVENUESPLITINFORMATION xml
            ) returns uniqueidentifier
            with execute as caller
            as begin

                declare @RESULT as uniqueidentifier = null;

                if @APPLICATIONCODE = 1 -- Event Registration        

                    select TOP 1 @RESULT =  EVENTSITE.SITEID 
                    from dbo.UFN_REVENUESPLITINFORMATION_FROMITEMLISTXML(@REVENUESPLITINFORMATION) as REVENUESPLITINFORMATION
                        inner join dbo.EVENTSITE
                            on REVENUESPLITINFORMATION.EVENTID = EVENTSITE.EVENTID
                    where REVENUESPLITINFORMATION.ID = @REVENUESPLITID
                    order by EVENTSITE.DATEADDED desc;

                else if @APPLICATIONCODE in (5, 19)    -- Membership    

                    select @RESULT = MEMBERSHIPPROGRAM.SITEID 
                    from dbo.UFN_REVENUESPLITINFORMATION_FROMITEMLISTXML(@REVENUESPLITINFORMATION) as REVENUESPLITINFORMATION
                        inner join MEMBERSHIPLEVEL
                            on REVENUESPLITINFORMATION.MEMBERSHIPLEVELID = MEMBERSHIPLEVEL.ID
                        inner join MEMBERSHIPPROGRAM
                            on MEMBERSHIPLEVEL.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID 
                    where REVENUESPLITINFORMATION.ID =  @REVENUESPLITID;

                if (@RESULT is null)
                begin
                    select @RESULT = isnull(DESIGNATIONLEVEL5.SITEID, 
                                        isnull(DESIGNATIONLEVEL4.SITEID, 
                                            isnull(DESIGNATIONLEVEL3.SITEID, 
                                                isnull(DESIGNATIONLEVEL2.SITEID, DESIGNATIONLEVEL1.SITEID))))
                    from dbo.UFN_REVENUESPLITINFORMATION_FROMITEMLISTXML(@REVENUESPLITINFORMATION) as REVENUESPLITINFORMATION
                        inner join DESIGNATION
                            on DESIGNATION.ID = REVENUESPLITINFORMATION.DESIGNATIONID
                        left outer join DESIGNATIONLEVEL as DESIGNATIONLEVEL1
                            on DESIGNATION.DESIGNATIONLEVEL1ID = DESIGNATIONLEVEL1.ID
                        left outer join DESIGNATIONLEVEL as DESIGNATIONLEVEL2
                            on DESIGNATION.DESIGNATIONLEVEL2ID = DESIGNATIONLEVEL2.ID
                        left outer join DESIGNATIONLEVEL as DESIGNATIONLEVEL3
                            on DESIGNATION.DESIGNATIONLEVEL3ID = DESIGNATIONLEVEL3.ID
                        left outer join DESIGNATIONLEVEL as DESIGNATIONLEVEL4
                            on DESIGNATION.DESIGNATIONLEVEL4ID = DESIGNATIONLEVEL4.ID
                        left outer join DESIGNATIONLEVEL as DESIGNATIONLEVEL5
                            on DESIGNATION.DESIGNATIONLEVEL5ID = DESIGNATIONLEVEL5.ID
                    where REVENUESPLITINFORMATION.ID = @REVENUESPLITID;    
                end

                return @RESULT;
            end