USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTTRAVEL

The load 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 used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@ARRIVALTRAVELTYPEID uniqueidentifier INOUT Type
@ARRIVALTRAVELNAMEID uniqueidentifier INOUT Name
@ARRIVALNUMBER nvarchar(25) INOUT Number
@ARRIVALDATE datetime INOUT Date
@ARRIVALTIME UDT_HOURMINUTE INOUT Time
@DEPARTURETRAVELTYPEID uniqueidentifier INOUT Type
@DEPARTURETRAVELNAMEID uniqueidentifier INOUT Name
@DEPARTURENUMBER nvarchar(25) INOUT Number
@DEPARTUREDATE datetime INOUT Date
@DEPARTURETIME UDT_HOURMINUTE INOUT Time

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTTRAVEL
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @ARRIVALTRAVELTYPEID uniqueidentifier = null output,
    @ARRIVALTRAVELNAMEID uniqueidentifier = null output,
    @ARRIVALNUMBER nvarchar(25) = null output,
    @ARRIVALDATE datetime = null output,
    @ARRIVALTIME dbo.UDT_HOURMINUTE = null output,
    @DEPARTURETRAVELTYPEID uniqueidentifier = null output,
    @DEPARTURETRAVELNAMEID uniqueidentifier = null output,
    @DEPARTURENUMBER nvarchar(25) = null output,
    @DEPARTUREDATE datetime = null output,
    @DEPARTURETIME dbo.UDT_HOURMINUTE = null output
)
as

    set nocount on;

    set @DATALOADED = 0;
    set @TSLONG = 0;

    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
        @DATALOADED = 1,
        @REGISTRANTCANTRAVEL = 1,
        @REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID,
        @MAINEVENTID = coalesce(EVENT.MAINEVENTID, EVENT.ID),
        @TSLONG = REGISTRANT.TSLONG
    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;

        exec dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTTRAVEL_2
            @ID=@REGISTRANTTRAVELID,
            @ARRIVALTRAVELTYPEID=@ARRIVALTRAVELTYPEID output,
            @ARRIVALTRAVELNAMEID=@ARRIVALTRAVELNAMEID output,
            @ARRIVALNUMBER=@ARRIVALNUMBER output,
            @ARRIVALDATE=@ARRIVALDATE output,
            @ARRIVALTIME=@ARRIVALTIME output,
            @DEPARTURETRAVELTYPEID=@DEPARTURETRAVELTYPEID output,
            @DEPARTURETRAVELNAMEID=@DEPARTURETRAVELNAMEID output,
            @DEPARTURENUMBER=@DEPARTURENUMBER output,
            @DEPARTUREDATE=@DEPARTUREDATE output,
            @DEPARTURETIME=@DEPARTURETIME output;
    end

    return 0;