USP_DATAFORMTEMPLATE_ADD_REGISTRANTREGISTRATION

The save procedure used by the add dataform template "Registrant Registration Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@REGISTRANTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@EVENTPRICEID uniqueidentifier IN Registration option
@QUANTITY int IN Quantity
@AMOUNT money IN Registration fee
@RECEIPTAMOUNT money IN Receipt amount
@DATEPURCHASED datetime IN Date

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_REGISTRANTREGISTRATION
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @REGISTRANTID uniqueidentifier,
                        @EVENTPRICEID uniqueidentifier = null,
                        @QUANTITY int = 1,
                        @AMOUNT money = 0,
                        @RECEIPTAMOUNT money = 0,
                        @DATEPURCHASED datetime = null
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

                        begin try
                            if @ID is null
                                set @ID = newid();

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

                            set @CURRENTDATE = getdate();

                            insert into dbo.REGISTRANTREGISTRATION
                                (ID, REGISTRANTID, EVENTPRICEID, QUANTITY, AMOUNT, RECEIPTAMOUNT, DATEPURCHASED, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                            values
                                (@ID, @REGISTRANTID, @EVENTPRICEID, @QUANTITY, @AMOUNT, @RECEIPTAMOUNT, @DATEPURCHASED, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

                            exec dbo.USP_REGISTRANT_ADDUNKNOWNGUESTS @CHANGEAGENTID, @REGISTRANTID;

                            insert into dbo.REGISTRANTBENEFIT
                            (
                                REGISTRANTID,
                                BENEFITID,
                                UNITVALUE,
                                QUANTITY,
                                TOTALVALUE,
                                DETAILS,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            select
                                @REGISTRANTID,
                                EVENTPRICEBENEFIT.BENEFITID,
                                (@QUANTITY * EVENTPRICEBENEFIT.UNITVALUE),
                                (@QUANTITY * EVENTPRICEBENEFIT.QUANTITY),
                                ((@QUANTITY * EVENTPRICEBENEFIT.UNITVALUE) * (@QUANTITY * EVENTPRICEBENEFIT.QUANTITY)),
                                EVENTPRICEBENEFIT.DETAILS,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            from
                                dbo.EVENTPRICEBENEFIT
                            where
                                EVENTPRICEBENEFIT.EVENTPRICEID = @EVENTPRICEID
                        end try

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

                        return 0;