USP_DATAFORMTEMPLATE_EDIT_SALESREGISTRANT_PRELOAD
The load procedure used by the edit dataform template "Sales Registrant Edit Data 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. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@EVENTID | uniqueidentifier | INOUT | EVENTID |
@EVENTNAME | nvarchar(100) | INOUT | Event |
@MAINEVENTID | uniqueidentifier | INOUT | MAINEVENTID |
@MAINEVENTNAME | nvarchar(100) | INOUT | Main event |
@PACKAGESPRICES | xml | INOUT | |
@MULTICOMPONENTEVENTSWITHPRICES | xml | INOUT | |
@MULTICOMPONENTEVENTPRICEBENEFITS | xml | INOUT | |
@MULTICOMPONENTEVENTPREFERENCEGROUPS | xml | INOUT | |
@MULTICOMPONENTEVENTAPPEALS | xml | INOUT | |
@CONSTITUENTID | uniqueidentifier | INOUT | Host |
@DATEPURCHASED | datetime | INOUT | Date |
@PACKAGEREGISTRATIONS | xml | INOUT | Packages |
@SINGLEEVENTREGISTRATIONS | xml | INOUT | Single events |
@WAIVEBENEFITS | bit | INOUT | Waive benefits |
@REGISTRANTMAPPINGS | xml | INOUT | Guests |
@DELETEDREGISTRANTREGISTRATIONMAPS | xml | INOUT | Deleted registrant registration mappings |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@CONSTITUENTHASNOTIFICATIONS | bit | INOUT | Registrant has notifications |
@CONSTITUENTRECORDTYPEID | uniqueidentifier | INOUT | |
@MULTICOMPONENTEVENTSCHEDULES | xml | INOUT | |
@SINGLEEVENTLIST | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SALESREGISTRANT_PRELOAD
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CURRENTAPPUSERID uniqueidentifier,
@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,
@MULTICOMPONENTEVENTAPPEALS xml = null output,
@CONSTITUENTID uniqueidentifier = null output,
@DATEPURCHASED datetime = null output,
@PACKAGEREGISTRATIONS xml = null output,
@SINGLEEVENTREGISTRATIONS xml = null output,
@WAIVEBENEFITS bit = null output,
@REGISTRANTMAPPINGS xml = null output,
@DELETEDREGISTRANTREGISTRATIONMAPS xml = null output,
@TSLONG bigint = 0 output,
@CONSTITUENTHASNOTIFICATIONS bit = null output,
@CONSTITUENTRECORDTYPEID uniqueidentifier = null output,
@MULTICOMPONENTEVENTSCHEDULES xml = null output,
@SINGLEEVENTLIST xml = null output
)
as
set nocount on;
select
@DATALOADED = 1,
@ID = coalesce(REGISTRANT.GUESTOFREGISTRANTID, @ID), --Get the host if the selected ID is for a guest
@EVENTID = REGISTRANT.EVENTID,
@CONSTITUENTID = CONSTITUENT.ID,
@WAIVEBENEFITS = coalesce([HOST].BENEFITSWAIVED, REGISTRANT.BENEFITSWAIVED)
from
dbo.REGISTRANT
left join dbo.REGISTRANT [HOST] on REGISTRANT.GUESTOFREGISTRANTID = [HOST].ID
left join dbo.CONSTITUENT on coalesce([HOST].CONSTITUENTID, REGISTRANT.CONSTITUENTID) = CONSTITUENT.ID
where
REGISTRANT.ID = @ID;
if @DATALOADED = 1
begin
set @CONSTITUENTRECORDTYPEID=dbo.UFN_RECORDTYPE_GETIDBYNAME('Constituent');
select @CONSTITUENTHASNOTIFICATIONS =
case
when @CONSTITUENTID is null then 0
when dbo.UFN_NOTIFICATION_RECORDHASNOTIFICATIONS(@CONSTITUENTID,@CONSTITUENTRECORDTYPEID,@CURRENTAPPUSERID) = 1 then 1
else 0 end
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;
set @DATEPURCHASED = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @MAINEVENTIDPARAMETER uniqueidentifier;
set @MAINEVENTIDPARAMETER = coalesce(@MAINEVENTID, @EVENTID);
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 @MULTICOMPONENTEVENTAPPEALS = dbo.UFN_EVENT_GETMULTICOMPONENTEVENTAPPEALS_TOITEMLISTXML(@MAINEVENTIDPARAMETER);
set @MULTICOMPONENTEVENTSCHEDULES = dbo.UFN_EVENT_GETMULTICOMPONENTSCHEDULES_TOITEMLISTXML(@MAINEVENTIDPARAMETER);
set @SINGLEEVENTLIST = (select ID from dbo.UFN_CHILDEVENTSWITHSITEACCESS(@MAINEVENTIDPARAMETER, @CURRENTAPPUSERID) for xml raw('ITEM'),type,elements,root('SINGLEEVENTLIST'),BINARY BASE64)
exec dbo.USP_REGISTRANT_GETREGISTRATIONSANDREGISTRANTMAPPINGS
@MAINEVENTID = @MAINEVENTIDPARAMETER,
@CONSTITUENTID = @CONSTITUENTID,
@PACKAGEREGISTRATIONS = @PACKAGEREGISTRATIONS output,
@SINGLEEVENTREGISTRATIONS = @SINGLEEVENTREGISTRATIONS output,
@REGISTRANTMAPPINGS = @REGISTRANTMAPPINGS output,
@MAXTSLONG = @TSLONG output,
@CURRENTAPPUSERID = @CURRENTAPPUSERID;
set @DELETEDREGISTRANTREGISTRATIONMAPS = null;
end
return 0;