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;