USP_DATAFORMTEMPLATE_EDITLOAD_BATCHREVENUEREGISTRANTUNIFIED
The load procedure used by the edit dataform template "Revenue Batch Registrant Unified Edit 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 | Registrant |
@CONSTITUENTNAME | nvarchar(700) | INOUT | Registrant |
@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 | |
@EVENTCURRENCY | xml | INOUT | |
@REGISTRATIONTYPECODE | tinyint | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_BATCHREVENUEREGISTRANTUNIFIED
(
@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,
@CONSTITUENTNAME nvarchar(700) = 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,
@EVENTCURRENCY xml = null output,
@REGISTRATIONTYPECODE Tinyint = null output
)
as
set nocount on;
set @DATALOADED = 0;
/*
must todo bwj handle security in batch
if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 0
if dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT
(
@CURRENTAPPUSERID,
'c3c380b9-e725-4feb-a214-f9209031b752',
(
select
CONSTITUENT.ID
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
)
) <> 1
begin
raiserror ('BBERR_DB_RECORDSECURITY_PERMISSION_DENIED',13,1);
return 1;
end
*/
select
@DATALOADED = 1,
@ID = coalesce(BATCHREVENUEREGISTRANT.GUESTOFREGISTRANTID, @ID), --Get the host if the selected ID is for a guest
@EVENTID = BATCHREVENUEREGISTRANT.EVENTID,
@CONSTITUENTID = coalesce([HOST].CONSTITUENTID, BATCHREVENUEREGISTRANT.CONSTITUENTID),
@CONSTITUENTNAME = coalesce(CONSTITUENT_NF.NAME, BATCHREVENUECONSTITUENT.NAME),
@WAIVEBENEFITS = coalesce([HOST].BENEFITSWAIVED, BATCHREVENUEREGISTRANT.BENEFITSWAIVED),
@REGISTRATIONTYPECODE = coalesce(BATCHREVENUEREGISTRANT.ISWALKIN,0)
from
dbo.BATCHREVENUEREGISTRANT
left join dbo.BATCHREVENUEREGISTRANT [HOST] on BATCHREVENUEREGISTRANT.GUESTOFREGISTRANTID = [HOST].ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(coalesce([HOST].CONSTITUENTID, BATCHREVENUEREGISTRANT.CONSTITUENTID)) CONSTITUENT_NF
left join dbo.BATCHREVENUECONSTITUENT on coalesce([HOST].CONSTITUENTID, BATCHREVENUEREGISTRANT.CONSTITUENTID) = BATCHREVENUECONSTITUENT.ID
where
BATCHREVENUEREGISTRANT.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 = coalesce(@MAINEVENTID, @EVENTID);
exec dbo.USP_EVENT_GETRELATEDEVENTINFO
@MAINEVENTIDPARAMETER,
@CURRENTAPPUSERID,
@PACKAGESPRICES output,
@MULTICOMPONENTEVENTSWITHPRICES output,
@MULTICOMPONENTEVENTPRICEBENEFITS output,
@MULTICOMPONENTEVENTPREFERENCEGROUPS output,
@MULTICOMPONENTEVENTAPPEALS output,
@CONSTITUENTRECORDTYPEID output,
@MULTICOMPONENTEVENTSCHEDULES output,
@SINGLEEVENTLIST output,
@EVENTCURRENCY output;
select @CONSTITUENTHASNOTIFICATIONS =
case
when @CONSTITUENTID is null then 0
when dbo.UFN_NOTIFICATION_RECORDHASNOTIFICATIONS(@CONSTITUENTID,@CONSTITUENTRECORDTYPEID,@CURRENTAPPUSERID) = 1 then 1
else 0 end
set @DATEPURCHASED = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @BATCHID uniqueidentifier;
select
@BATCHID = BATCHID
from
dbo.BATCHREVENUEREGISTRANT
where
ID = @ID;
exec dbo.USP_REVENUEBATCHREGISTRANT_GETREGISTRATIONSANDREGISTRANTMAPPINGS
@MAINEVENTID = @MAINEVENTIDPARAMETER,
@CONSTITUENTID = @CONSTITUENTID,
@PACKAGEREGISTRATIONS = @PACKAGEREGISTRATIONS output,
@SINGLEEVENTREGISTRATIONS = @SINGLEEVENTREGISTRATIONS output,
@REGISTRANTMAPPINGS = @REGISTRANTMAPPINGS output,
@BATCHID = @BATCHID
/*
should todo bwj we yanked these parameters from the batch row load version - need to add them back
@MAXTSLONG = @TSLONG output,
@CURRENTAPPUSERID = @CURRENTAPPUSERID
*/
set @DELETEDREGISTRANTREGISTRATIONMAPS = null;
end
return 0;