USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYSTAFFRESOURCEVOLUNTEERSCHEDULE

The load procedure used by the edit dataform template "Itinerary Staff Resource Volunteer Schedule 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.
@VOLUNTEERS xml INOUT
@VOLUNTEERTYPENAME nvarchar(100) INOUT Resource
@QUANTITYNEEDED int INOUT
@DISPLAYNAME nvarchar(257) INOUT For
@STARTDATE datetime INOUT
@STARTTIME UDT_HOURMINUTE INOUT
@ENDDATE datetime INOUT
@ENDTIME UDT_HOURMINUTE INOUT
@VISITORCOUNT smallint INOUT Number of visitors
@PATRON nvarchar(100) INOUT Patron
@LEADER nvarchar(100) INOUT Leader
@GROUPSALESGROUPTYPECODE nvarchar(100) INOUT Group type

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYSTAFFRESOURCEVOLUNTEERSCHEDULE
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @TSLONG bigint = 0 output,
                    @VOLUNTEERS xml = null output,
                    @VOLUNTEERTYPENAME nvarchar(100) = null output,
                    @QUANTITYNEEDED int = null output,
                    @DISPLAYNAME nvarchar(257) = null output,
                    @STARTDATE datetime = null output,
                    @STARTTIME UDT_HOURMINUTE = null output,
                    @ENDDATE datetime = null output,
                    @ENDTIME UDT_HOURMINUTE = null output,
                    @VISITORCOUNT smallint = null output,
                    @PATRON nvarchar(100) = null output,
                    @LEADER nvarchar(100) = null output,
                    @GROUPSALESGROUPTYPECODE nvarchar(100) = null output
                )
                as

                    set nocount on;

                    set @DATALOADED = 0
                    set @TSLONG = 0

                    declare @ITINERARYID uniqueidentifier

                    select
                        @DATALOADED = 1,
                        @TSLONG = ITINERARYSTAFFRESOURCE.TSLONG,
                        @VOLUNTEERTYPENAME = VOLUNTEERTYPE.NAME,
                        @QUANTITYNEEDED = ITINERARYSTAFFRESOURCE.QUANTITYNEEDED,
                        @DISPLAYNAME = ITINERARY.NAME,
                        @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(ITINERARY.STARTDATETIME),
                        @STARTTIME = dbo.UFN_HOURMINUTE_GETFROMDATE(ITINERARY.STARTDATETIME),
                        @ENDDATE = dbo.UFN_DATE_GETEARLIESTTIME(ITINERARY.ENDDATETIME),
                        @ENDTIME = dbo.UFN_HOURMINUTE_GETFROMDATE(ITINERARY.ENDDATETIME),
                        @ITINERARYID = ITINERARY.ID,
                        @LEADER = dbo.UFN_CONSTITUENT_BUILDNAME(ITINERARY.LEADERID)
                    from dbo.ITINERARYSTAFFRESOURCE
                    inner join dbo.VOLUNTEERTYPE on 
                        ITINERARYSTAFFRESOURCE.VOLUNTEERTYPEID = VOLUNTEERTYPE.ID
                    inner join dbo.ITINERARY on 
                        ITINERARYSTAFFRESOURCE.ITINERARYID = ITINERARY.ID
                    where 
                        ITINERARYSTAFFRESOURCE.ID = @ID and
                        FILLEDBYCODE = 0

                    if @DATALOADED = 1
                    begin

                        set @VISITORCOUNT = isnull((
                                        select sum(ITINERARYATTENDEE.QUANTITY)
                                        from dbo.ITINERARYATTENDEE
                                        where ITINERARYID = @ITINERARYID
                                    ),0);

                        select
                            @PATRON = dbo.UFN_CONSTITUENT_BUILDNAME(SALESORDER.CONSTITUENTID)
                        from dbo.ITINERARY
                        inner join dbo.RESERVATION on
                            ITINERARY.RESERVATIONID = RESERVATION.ID
                        inner join dbo.SALESORDER on 
                            RESERVATION.ID = SALESORDER.ID
                        where
                            ITINERARY.ID = @ITINERARYID

                        select 
                            @GROUPSALESGROUPTYPECODE = GROUPSALESGROUPTYPECODE.DESCRIPTION
                        from dbo.GROUPSALESGROUPTYPECODE
                        inner join dbo.ITINERARY on
                            ITINERARY.GROUPSALESGROUPTYPECODEID = GROUPSALESGROUPTYPECODE.ID
                        where 
                            ITINERARY.ID = @ITINERARYID

                        set @VOLUNTEERS =
                        (
                            select 
                                VOLUNTEERASSIGNMENT.ID as ID,
                                VOLUNTEERASSIGNMENT.VOLUNTEERID as VOLUNTEERID,
                                dbo.UFN_CONSTITUENT_BUILDNAME(VOLUNTEERASSIGNMENT.VOLUNTEERID) as NAME
                            from dbo.ITINERARYSTAFFRESOURCE
                            inner join dbo.VOLUNTEERASSIGNMENT on 
                                ITINERARYSTAFFRESOURCE.JOBOCCURRENCEID = VOLUNTEERASSIGNMENT.JOBOCCURRENCEID
                            where 
                                ITINERARYSTAFFRESOURCE.ID = @ID
                            for xml raw('ITEM'),type,elements,root('VOLUNTEERS'),binary base64
                        )
                    end

                    return 0;