USP_DATAFORMTEMPLATE_VIEW_REGISTRANTUNIFIEDREGISTRATIONSANDGUESTS

The load procedure used by the view dataform template "Registrant Unified View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@EVENTID uniqueidentifier INOUT EVENTID
@EVENTNAME nvarchar(100) INOUT Event
@MAINEVENTID uniqueidentifier INOUT MAINEVENTID
@MAINEVENTNAME nvarchar(100) INOUT Main event
@PACKAGESPRICES xml INOUT PACKAGESPRICES
@MULTICOMPONENTEVENTSWITHPRICES xml INOUT MULTICOMPONENTEVENTSWITHPRICES
@MULTICOMPONENTEVENTPRICEBENEFITS xml INOUT MULTICOMPONENTEVENTPRICEBENEFITS
@MULTICOMPONENTEVENTPREFERENCEGROUPS xml INOUT MULTICOMPONENTEVENTPREFERENCEGROUPS
@CONSTITUENTID uniqueidentifier INOUT Registrant
@CONSTITUENTNAME nvarchar(700) INOUT Registrant
@PACKAGEREGISTRATIONS xml INOUT Packages
@SINGLEEVENTREGISTRATIONS xml INOUT Single events
@WAIVEBENEFITS bit INOUT Waive benefits
@REGISTRANTMAPPINGS xml INOUT Guests
@MULTICOMPONENTEVENTSCHEDULES xml INOUT MULTICOMPONENTEVENTSCHEDULES
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_REGISTRANTUNIFIEDREGISTRATIONSANDGUESTS
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @EVENTID uniqueidentifier = null output,
                    @EVENTNAME nvarchar(100) = null output,
                    @MAINEVENTID uniqueidentifier = null output,
                    @MAINEVENTNAME nvarchar(100) = null output,
                    @PACKAGESPRICES xml = null output,
                    @MULTICOMPONENTEVENTSWITHPRICES xml = null output,
                    @MULTICOMPONENTEVENTPRICEBENEFITS xml = null output,
                    @MULTICOMPONENTEVENTPREFERENCEGROUPS xml = null output,
                    @CONSTITUENTID uniqueidentifier = null output,
                    @CONSTITUENTNAME nvarchar(700) = null output,
                    @PACKAGEREGISTRATIONS xml = null output,
                    @SINGLEEVENTREGISTRATIONS xml = null output,
                    @WAIVEBENEFITS bit = null output,
                    @REGISTRANTMAPPINGS xml = null output,
                    @MULTICOMPONENTEVENTSCHEDULES xml = null output,
                    @CURRENTAPPUSERID uniqueidentifier = null
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

                    select
                        @DATALOADED = 1,
                        @ID = coalesce(REGISTRANT.GUESTOFREGISTRANTID, @ID), --Get the host if the selected ID is for a guest

                        @EVENTID = REGISTRANT.EVENTID,
                        @CONSTITUENTID = coalesce([HOST].CONSTITUENTID, REGISTRANT.CONSTITUENTID),
                        @CONSTITUENTNAME = NF.NAME,
                        @WAIVEBENEFITS = coalesce([HOST].BENEFITSWAIVED, REGISTRANT.BENEFITSWAIVED)
                    from
                        dbo.REGISTRANT
                        left join dbo.REGISTRANT [HOST] on REGISTRANT.GUESTOFREGISTRANTID = [HOST].ID
                        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(coalesce([HOST].CONSTITUENTID, REGISTRANT.CONSTITUENTID)) NF
                    where
                        REGISTRANT.ID = @ID;

                    if @DATALOADED = 1
                        begin
                            select
                                @EVENTNAME = [EVENT].[NAME],
                                @MAINEVENTID = 
                                case
                                    when [EVENT].[MAINEVENTID] is not null then [EVENT].[MAINEVENTID]
                                    when exists(select ID from dbo.EVENT [SUBEVENT] where [SUBEVENT].[MAINEVENTID] = [EVENT].[ID]) then [EVENT].[ID]
                                    else null
                                end
                            from
                                dbo.EVENT
                            where
                                [EVENT].[ID] = @EVENTID;

                            select
                                @MAINEVENTNAME = [EVENT].[NAME]
                            from
                                dbo.EVENT
                            where
                                [EVENT].[ID] = @MAINEVENTID;

                            declare @MAINEVENTIDPARAMETER uniqueidentifier;
                            set @MAINEVENTIDPARAMETER = isnull(@MAINEVENTID, @EVENTID);

                            -- The registrant page should show all registrations for the constituent that the

                            -- user has site access to. So, pass in main event for both variables.

                            set @PACKAGESPRICES = dbo.UFN_REGISTRATIONPACKAGE_GETPACKAGESPRICES_3_TOITEMLISTXML(@MAINEVENTIDPARAMETER, @MAINEVENTIDPARAMETER, @CURRENTAPPUSERID);
                            set @MULTICOMPONENTEVENTSWITHPRICES = dbo.UFN_EVENTPRICE_GETMULTICOMPONENTEVENTSWITHPRICES_2_TOITEMLISTXML(@MAINEVENTIDPARAMETER, @MAINEVENTIDPARAMETER, @CURRENTAPPUSERID);
                            set @MULTICOMPONENTEVENTPRICEBENEFITS = dbo.UFN_EVENTPRICEBENEFIT_GETMULTICOMPONENTEVENTPRICEBENEFITS_TOITEMLISTXML(@MAINEVENTIDPARAMETER);
                            set @MULTICOMPONENTEVENTPREFERENCEGROUPS = dbo.UFN_EVENTPREFERENCEGROUP_GETMULTICOMPONENTEVENTPREFERENCEGROUPS_TOITEMLISTXML(@MAINEVENTIDPARAMETER);
                            set @MULTICOMPONENTEVENTSCHEDULES = dbo.UFN_EVENT_GETMULTICOMPONENTSCHEDULES_TOITEMLISTXML(@MAINEVENTIDPARAMETER);

                            exec dbo.USP_REGISTRANT_GETREGISTRATIONSANDREGISTRANTMAPPINGS
                                @MAINEVENTID = @MAINEVENTIDPARAMETER,
                                @CONSTITUENTID = @CONSTITUENTID,
                                @PACKAGEREGISTRATIONS = @PACKAGEREGISTRATIONS output,
                                @SINGLEEVENTREGISTRATIONS = @SINGLEEVENTREGISTRATIONS output,
                                @REGISTRANTMAPPINGS = @REGISTRANTMAPPINGS output,
                                @MAXTSLONG = null,
                                @CURRENTAPPUSERID = @CURRENTAPPUSERID;
                        end

                    return 0;