USP_DATALIST_REGISTRANTBENEFIT_SUMMARY_2

Displays a summary of benefits for a given registrant and all of that registrant's guests.

Parameters

Parameter Parameter Type Mode Description
@REGISTRANTID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_REGISTRANTBENEFIT_SUMMARY_2
                (
                    @REGISTRANTID uniqueidentifier,
          @CURRENTAPPUSERID uniqueidentifier
                )
                as
                set nocount on;

        declare @EVENTID uniqueidentifier = (select EVENTID from dbo.REGISTRANT where ID = @REGISTRANTID)

        declare @REGISTRANTS table(ID uniqueidentifier);
        insert into @REGISTRANTS
        select ID 
        from dbo.REGISTRANT 
        where CONSTITUENTID = (select CONSTITUENTID from dbo.REGISTRANT where ID = @REGISTRANTID)
        and 
        (
        EVENTID in (select ID from dbo.UFN_CHILDEVENTSWITHSITEACCESS((select MAINEVENTID from dbo.EVENT where ID = @EVENTID), @CURRENTAPPUSERID))
        or 
        EVENTID = @EVENTID
        )

                select 
                    REGISTRANT.ID,
                    dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) NAME,
                    REGISTRANT.BENEFITSWAIVED,
                    ISNULL(dbo.UFN_BENEFIT_GETNAME (BENEFITID),''),
                    QUANTITY,
                    UNITVALUE,
                    TOTALVALUE,
                    DETAILS,
                    REGISTRANTBENEFIT.BASECURRENCYID,
                    /*
                    case
                        when (select count(ID) from dbo.REGISTRANTBENEFIT where REGISTRANTBENEFIT.REGISTRANTID = REGISTRANT.ID) = 0 then '<None>'
                        else (select dbo.UDA_BUILDLIST(BENEFIT.NAME) from dbo.BENEFIT inner join dbo.REGISTRANTBENEFIT on BENEFIT.ID = REGISTRANTBENEFIT.BENEFITID where REGISTRANTBENEFIT.REGISTRANTID = REGISTRANT.ID)
                    end                    
                    */
          EVENT.NAME EVENTNAME,
            EVENTHIERARCHY.HIERARCHYPATH.GetLevel() EVENTLEVEL
                from dbo.REGISTRANT
                left outer join dbo.REGISTRANTBENEFIT on REGISTRANTBENEFIT.REGISTRANTID = REGISTRANT.ID
        inner join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID
        left join dbo.EVENTHIERARCHY on EVENTHIERARCHY.ID = EVENT.ID
                where REGISTRANT.ID in (select ID from @REGISTRANTS)

                union all

                select 
                    REGISTRANT.ID,
                    dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) NAME,
                    REGISTRANT.BENEFITSWAIVED,
                    ISNULL(dbo.UFN_BENEFIT_GETNAME (BENEFITID),''),
                    QUANTITY,
                    UNITVALUE,
                    TOTALVALUE,
                    DETAILS,
                    REGISTRANTBENEFIT.BASECURRENCYID,
                    /*case
                        when (select count(ID) from dbo.REGISTRANTBENEFIT where REGISTRANTBENEFIT.REGISTRANTID = REGISTRANT.ID) = 0 then '<None>'
                        else (select dbo.UDA_BUILDLIST(BENEFIT.NAME) from dbo.BENEFIT inner join dbo.REGISTRANTBENEFIT on BENEFIT.ID = REGISTRANTBENEFIT.BENEFITID where REGISTRANTBENEFIT.REGISTRANTID = REGISTRANT.ID)
                    end    */
          EVENT.NAME EVENTNAME,
            EVENTHIERARCHY.HIERARCHYPATH.GetLevel() EVENTLEVEL
                from dbo.REGISTRANT
                left outer join dbo.REGISTRANTBENEFIT on REGISTRANTBENEFIT.REGISTRANTID = REGISTRANT.ID
        inner join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID
        left join dbo.EVENTHIERARCHY on EVENTHIERARCHY.ID = EVENT.ID
                where REGISTRANT.GUESTOFREGISTRANTID in (select ID from @REGISTRANTS)

        order by EVENTLEVEL, EVENTNAME, NAME