USP_RECORDOPERATION_EVENTCUSTOMREGISTRATIONINFORMATION

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_RECORDOPERATION_EVENTCUSTOMREGISTRATIONINFORMATION
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as begin
    set nocount on;

    begin try
        if @CHANGEAGENTID is null  
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

        declare @CURRENTDATE datetime
        set @CURRENTDATE = getdate()

        declare @PROGRAMID uniqueidentifier 
        select @PROGRAMID = PROGRAMID from dbo.[EVENT] where ID = @ID

        insert into dbo.PROGRAMEVENTREGISTRATIONSECTION (
            EVENTID, 
            SEQUENCE
            ADDEDBYID, 
            CHANGEDBYID, 
            DATEADDED, 
            DATECHANGED, 
            REGISTRATIONSECTIONCODEID
        )
        select 
            @ID as EVENTID, 
            SEQUENCE
            @CHANGEAGENTID as ADDEDBYID, 
            @CHANGEAGENTID as CHANGEDBYID, 
            @CURRENTDATE as DATEADDED, 
            @CURRENTDATE as DATECHANGED, 
            REGISTRATIONSECTIONCODEID 
        from dbo.PROGRAMEVENTREGISTRATIONSECTION 
        where PROGRAMID = @PROGRAMID

        insert into dbo.PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION (
            PROGRAMEVENTREGISTRATIONSECTIONID, 
            REGISTRATIONINFORMATIONID, 
            SEQUENCE
            ADDEDBYID, 
            CHANGEDBYID, 
            DATEADDED, 
            DATECHANGED, 
            [REQUIRED]
        )
        select
            persEvent.ID as PROGRAMEVENTREGISTRATIONSECTIONID, 
            persri.REGISTRATIONINFORMATIONID, 
            persri.SEQUENCE
            @CHANGEAGENTID as ADDEDBYID, 
            @CHANGEAGENTID as CHANGEDBYID, 
            @CURRENTDATE as DATEADDED, 
            @CURRENTDATE as DATECHANGED, 
            persri.[REQUIRED]
        from dbo.PROGRAMEVENTREGISTRATIONSECTION as persEvent
        inner join dbo.PROGRAMEVENTREGISTRATIONSECTION as persProgram
            on persProgram.PROGRAMID = @PROGRAMID 
            and persprogram.REGISTRATIONSECTIONCODEID = persEvent.REGISTRATIONSECTIONCODEID 
        inner join dbo.PROGRAMEVENTREGISTRATIONSECTIONREGISTRATIONINFORMATION as persri
            on persProgram.ID = persri.PROGRAMEVENTREGISTRATIONSECTIONID 
        where persEvent.EVENTID = @ID 

        update dbo.[EVENT] set HASCUSTOMREGISTRATIONINFORMATION = 1, CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE where ID = @ID 
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

    return 0;
end