USP_DATAFORMTEMPLATE_EDIT_REGISTRANTTRAVEL

The save procedure used by the edit dataform template "Registrant Travel Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ARRIVALTRAVELTYPEID uniqueidentifier IN Type
@ARRIVALTRAVELNAMEID uniqueidentifier IN Name
@ARRIVALNUMBER nvarchar(25) IN Number
@ARRIVALDATE datetime IN Date
@ARRIVALTIME UDT_HOURMINUTE IN Time
@DEPARTURETRAVELTYPEID uniqueidentifier IN Type
@DEPARTURETRAVELNAMEID uniqueidentifier IN Name
@DEPARTURENUMBER nvarchar(25) IN Number
@DEPARTUREDATE datetime IN Date
@DEPARTURETIME UDT_HOURMINUTE IN Time

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REGISTRANTTRAVEL (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @ARRIVALTRAVELTYPEID uniqueidentifier,
    @ARRIVALTRAVELNAMEID uniqueidentifier,
    @ARRIVALNUMBER nvarchar(25),
    @ARRIVALDATE datetime,
    @ARRIVALTIME dbo.UDT_HOURMINUTE,
    @DEPARTURETRAVELTYPEID uniqueidentifier,
    @DEPARTURETRAVELNAMEID uniqueidentifier,
    @DEPARTURENUMBER nvarchar(25),
    @DEPARTUREDATE datetime,
    @DEPARTURETIME dbo.UDT_HOURMINUTE
)
as

    set nocount on;

    declare @REGISTRANTCANTRAVEL bit = 0;
    declare @REGISTRANTCONSTITUENTID uniqueidentifier;
    declare @MAINEVENTID uniqueidentifier;

    -- Travel information is unique to a constituent and a main event coupling, 
    -- not to a registrant record.
    select
        @REGISTRANTCANTRAVEL = 1,
        @REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID,
        @MAINEVENTID = coalesce(EVENT.MAINEVENTID, EVENT.ID)
    from
        dbo.REGISTRANT
        inner join dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
    where
        REGISTRANT.ID = @ID;

    if @REGISTRANTCANTRAVEL = 1
    begin

        declare @REGISTRANTTRAVELID uniqueidentifier;

        select
            @REGISTRANTTRAVELID = ID
        from
            dbo.REGISTRANTTRAVEL
        where
            REGISTRANTTRAVEL.REGISTRANTCONSTITUENTID = @REGISTRANTCONSTITUENTID
            and REGISTRANTTRAVEL.MAINEVENTID = @MAINEVENTID

        if @REGISTRANTTRAVELID is null
            exec dbo.[USP_DATAFORMTEMPLATE_ADD_REGISTRANTTRAVEL] 
                null, --ID
                @CHANGEAGENTID,
                @ID, --REGISTRANTID
                @ARRIVALTRAVELTYPEID,
                @ARRIVALTRAVELNAMEID,
                @ARRIVALNUMBER,
                @ARRIVALDATE,
                @ARRIVALTIME,
                @DEPARTURETRAVELTYPEID,
                @DEPARTURETRAVELNAMEID,
                @DEPARTURENUMBER,
                @DEPARTUREDATE,
                @DEPARTURETIME;
        else
            exec dbo.[USP_DATAFORMTEMPLATE_EDIT_REGISTRANTTRAVEL_2]
                @ID=@REGISTRANTTRAVELID,
                @CHANGEAGENTID=@CHANGEAGENTID,
                @ARRIVALTRAVELTYPEID=@ARRIVALTRAVELTYPEID,
                @ARRIVALTRAVELNAMEID=@ARRIVALTRAVELNAMEID,
                @ARRIVALNUMBER=@ARRIVALNUMBER,
                @ARRIVALDATE=@ARRIVALDATE,
                @ARRIVALTIME=@ARRIVALTIME,
                @DEPARTURETRAVELTYPEID=@DEPARTURETRAVELTYPEID,
                @DEPARTURETRAVELNAMEID=@DEPARTURETRAVELNAMEID,
                @DEPARTURENUMBER=@DEPARTURENUMBER,
                @DEPARTUREDATE=@DEPARTUREDATE,
                @DEPARTURETIME=@DEPARTURETIME;
    end

return 0;