USP_DATAFORMTEMPLATE_ADD_EVENTREGISTRATIONINFORMATION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@EVENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@REGISTRATIONINFORMATIONTYPECODE | tinyint | IN | |
@REGISTRATIONSECTIONCODEID | uniqueidentifier | IN | |
@REGISTRATIONINFORMATIONID | uniqueidentifier | IN | |
@REQUIRED | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_EVENTREGISTRATIONINFORMATION (
@ID uniqueidentifier = null output,
@EVENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@REGISTRATIONINFORMATIONTYPECODE tinyint = 1, --Question
@REGISTRATIONSECTIONCODEID uniqueidentifier,
@REGISTRATIONINFORMATIONID uniqueidentifier,
@REQUIRED bit = 0
) as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @REGISTRATIONINFORMATIONTYPECODE = 0 --Announcement
set @REQUIRED = 0
declare @PROGRAMEVENTREGISTRATIONSECTIONID uniqueidentifier = (select top 1 ID from dbo.PROGRAMEVENTREGISTRATIONSECTION where (EVENTID = @EVENTID) and (REGISTRATIONSECTIONCODEID = @REGISTRATIONSECTIONCODEID))
if @PROGRAMEVENTREGISTRATIONSECTIONID is null begin
declare @MAXSECTIONSEQUENCE int = (select isnull(max(SEQUENCE), 0) from dbo.PROGRAMEVENTREGISTRATIONSECTION where (EVENTID = @EVENTID))
set @PROGRAMEVENTREGISTRATIONSECTIONID = newid()
insert into dbo.PROGRAMEVENTREGISTRATIONSECTION (ID, EVENTID, REGISTRATIONSECTIONCODEID, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@PROGRAMEVENTREGISTRATIONSECTIONID, @EVENTID, @REGISTRATIONSECTIONCODEID, @MAXSECTIONSEQUENCE + 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end
declare @MAXITEMSEQUENCE int = (select isnull(max(SEQUENCE), 0) from dbo.PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION where (PROGRAMEVENTREGISTRATIONSECTIONID = @PROGRAMEVENTREGISTRATIONSECTIONID))
insert into dbo.PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION (PROGRAMEVENTREGISTRATIONSECTIONID, REGISTRATIONINFORMATIONID, SEQUENCE, [REQUIRED], ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@PROGRAMEVENTREGISTRATIONSECTIONID, @REGISTRATIONINFORMATIONID, @MAXITEMSEQUENCE + 1, @REQUIRED, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0