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;