USP_DATAFORMTEMPLATE_ADD_BATCHREVENUEREGISTRANTUNIFIED

The save procedure used by the add dataform template "Revenue Batch Registrant Unified Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@EVENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CONSTITUENTID uniqueidentifier IN Registrant
@DATEPURCHASED datetime IN Date
@PACKAGEREGISTRATIONS xml IN Packages
@PACKAGESPRICES xml IN
@SINGLEEVENTREGISTRATIONS xml IN Single events
@WAIVEBENEFITS bit IN Waive benefits
@REGISTRANTMAPPINGS xml IN Guests
@BATCHID uniqueidentifier IN
@REGISTRATIONTYPECODE tinyint IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_BATCHREVENUEREGISTRANTUNIFIED
                    (
                        @ID uniqueidentifier = null output,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @EVENTID uniqueidentifier,
                        @CONSTITUENTID uniqueidentifier = null,
                        @DATEPURCHASED datetime = null,
                        @PACKAGEREGISTRATIONS xml = null,
                        @PACKAGESPRICES xml = null,
                        @SINGLEEVENTREGISTRATIONS xml = null,
                        @WAIVEBENEFITS bit = null,
                        @REGISTRANTMAPPINGS xml = null,
                        @BATCHID uniqueidentifier = null,
                        @REGISTRATIONTYPECODE tinyint = 0
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

                        if @CHANGEAGENTID is null  
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                        set @CURRENTDATE = getdate();

                        if (
                            select 
                                count(REGISTRATIONS.ID) 
                            from (
                                select ID from dbo.REGISTRANT where EVENTID = @EVENTID and CONSTITUENTID = @CONSTITUENTID
                                union all
                                select ID from dbo.BATCHREVENUEREGISTRANT where EVENTID = @EVENTID and CONSTITUENTID = @CONSTITUENTID and BATCHID = @BATCHID
                            ) REGISTRATIONS
                        ) >= 1
                            raiserror('REVENUEBATCHREGISTRANTALREADYEXISTS', 13, 1);

                        begin try
                            exec dbo.USP_REVENUEBATCH_REGISTRANT_UNIFIEDUPDATE
                                @ID = @ID output,
                                @CURRENTAPPUSERID = @CURRENTAPPUSERID,
                                @SECURITYCONTEXTFORMINSTANCEID = 'ade1a2cf-9d16-40b4-83d8-946f5894f1db', --Data form instance ID for RevenueBatchDataForm.Add.xml

                                @CHANGEAGENTID = @CHANGEAGENTID,
                                @CURRENTDATE = @CURRENTDATE,
                                @EVENTID = @EVENTID,
                                @CONSTITUENTID = @CONSTITUENTID,
                                @DATEPURCHASED = @DATEPURCHASED,
                                @PACKAGEREGISTRATIONS = @PACKAGEREGISTRATIONS,
                                @PACKAGESPRICES = @PACKAGESPRICES,
                                @SINGLEEVENTREGISTRATIONS = @SINGLEEVENTREGISTRATIONS,
                                @WAIVEBENEFITS = @WAIVEBENEFITS,
                                @REGISTRANTMAPPINGS = @REGISTRANTMAPPINGS,
                                @DELETEDREGISTRANTREGISTRATIONMAPS = null,
                                @BATCHID = @BATCHID,
                                @ISWALKIN = @REGISTRATIONTYPECODE;
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;