USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYSTAFFRESOURCESTAFFBOARDSCHEDULE

The load procedure used by the edit dataform template "Itinerary Staff Resource Staff Board 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.
@ASSIGNEDSTAFF xml INOUT
@VOLUNTEERTYPENAME nvarchar(100) INOUT Resource
@QUANTITYNEEDED int INOUT
@FILLEDBYCODE tinyint INOUT
@DISPLAYNAME nvarchar(257) INOUT For
@STARTDATE datetime INOUT
@STARTTIME UDT_HOURMINUTE INOUT
@ENDDATE datetime INOUT
@ENDTIME UDT_HOURMINUTE INOUT

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYSTAFFRESOURCESTAFFBOARDSCHEDULE
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @TSLONG bigint = 0 output,
                    @ASSIGNEDSTAFF xml = null output,
                    @VOLUNTEERTYPENAME nvarchar(100) = null output,
                    @QUANTITYNEEDED int = null output,
                    @FILLEDBYCODE tinyint = 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
                )
                as

                    set nocount on;

                    set @DATALOADED = 0
                    set @TSLONG = 0

                    select
                        @DATALOADED = 1,
                        @TSLONG = ITINERARYSTAFFRESOURCE.TSLONG,
                        @VOLUNTEERTYPENAME = VOLUNTEERTYPE.NAME,
                        @QUANTITYNEEDED = ITINERARYSTAFFRESOURCE.QUANTITYNEEDED,
                        @FILLEDBYCODE = ITINERARYSTAFFRESOURCE.FILLEDBYCODE,
                        @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)
                    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

                    if @FILLEDBYCODE = 0
                        set @DATALOADED = 0

                    if @DATALOADED = 1
                    begin
                        set @ASSIGNEDSTAFF =
                        (
                            select 
                                ITINERARYSTAFFRESOURCEASSIGNMENT.ID as ID,
                                ITINERARYSTAFFRESOURCEASSIGNMENT.CONSTITUENTID
                            from dbo.ITINERARYSTAFFRESOURCE
                            inner join dbo.ITINERARYSTAFFRESOURCEASSIGNMENT on 
                                ITINERARYSTAFFRESOURCEASSIGNMENT.ITINERARYSTAFFRESOURCEID = ITINERARYSTAFFRESOURCE.ID
                            where 
                                ITINERARYSTAFFRESOURCE.ID = @ID
                            for xml raw('ITEM'),type,elements,root('ASSIGNEDSTAFF'),binary base64
                        )
                    end

                    return 0;