USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYSTAFFRESOURCE

The load procedure used by the edit dataform template "Itinerary Staff Resource 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.
@VOLUNTEERTYPE nvarchar(50) INOUT Resource
@QUANTITYNEEDED int INOUT Quantity needed
@FILLEDBY nvarchar(50) INOUT Filled by
@JOB nvarchar(50) INOUT Job being performed
@JOBNAME nvarchar(100) INOUT Name
@JOBDESCRIPTION nvarchar(255) INOUT Description
@IGNORECONFLICTS bit INOUT Ignore conflicts when saving
@STARTDATE datetime INOUT Start date
@STARTTIME UDT_HOURMINUTE INOUT Start time
@ENDDATE datetime INOUT End date
@ENDTIME UDT_HOURMINUTE INOUT End time
@ITINERARYNAME nvarchar(154) INOUT Itinerary name
@ITINERARYID uniqueidentifier INOUT Itinerary
@VOLUNTEERTYPEID uniqueidentifier INOUT Resource
@FILLEDBYCODE tinyint INOUT Filled by
@ISREQUIREDRESOURCE bit INOUT
@REQUIREDRESOURCEQUANTITY int INOUT
@ITINERARYITEMSEXIST int INOUT
@VOLUNTEERS xml INOUT Volunteers
@ASSIGNMENTS xml INOUT Volunteers

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYSTAFFRESOURCE
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @VOLUNTEERTYPE nvarchar(50) = null output,
                        @QUANTITYNEEDED int = null output,
                        @FILLEDBY nvarchar(50) = null output,
                        @JOB nvarchar(50) = null output,
                        @JOBNAME nvarchar(100) = null output,
                        @JOBDESCRIPTION nvarchar(255) = null output,
                        @IGNORECONFLICTS bit = null output,
                        @STARTDATE datetime = null output,
                        @STARTTIME UDT_HOURMINUTE = null output,
                        @ENDDATE datetime = null output,
                        @ENDTIME UDT_HOURMINUTE = null output,
                        @ITINERARYNAME nvarchar(154) = null output,
                        @ITINERARYID uniqueidentifier = null output,
                        @VOLUNTEERTYPEID uniqueidentifier = null output,
                        @FILLEDBYCODE tinyint = null output,
                        @ISREQUIREDRESOURCE bit = null output,
                        @REQUIREDRESOURCEQUANTITY int = null output,
                        @ITINERARYITEMSEXIST int = null output,
                        @VOLUNTEERS xml = null output,
                        @ASSIGNMENTS xml = null output
                    )
                    as

                        set nocount on;

                        -- be sure to set these, in case the select returns no rows

                        set @DATALOADED = 0
                        set @TSLONG = 0

                        select
                            @DATALOADED = 1,
                            @TSLONG = ITINERARYSTAFFRESOURCE.TSLONG,
                            @VOLUNTEERTYPE = VOLUNTEERTYPE.NAME,
                            @VOLUNTEERTYPEID = VOLUNTEERTYPE.ID,
                            @FILLEDBYCODE = ITINERARYSTAFFRESOURCE.FILLEDBYCODE,
                            @QUANTITYNEEDED = ITINERARYSTAFFRESOURCE.QUANTITYNEEDED,
                            @FILLEDBY = ITINERARYSTAFFRESOURCE.FILLEDBY,
                            @JOB = JOB.NAME,
                            @JOBNAME = JOB.NAME,
                            @JOBDESCRIPTION = JOB.DESCRIPTION,
                            @IGNORECONFLICTS = 0,
                            @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(ITINERARY.STARTDATETIME),
                            @ENDDATE = dbo.UFN_DATE_GETEARLIESTTIME(ITINERARY.ENDDATETIME),
                            @STARTTIME = dbo.UFN_HOURMINUTE_GETFROMDATE(ITINERARY.STARTDATETIME),
                            @ENDTIME = dbo.UFN_HOURMINUTE_GETFROMDATE(ITINERARY.ENDDATETIME),
                            @ITINERARYNAME = ITINERARY.NAME,
                            @ITINERARYID = ITINERARY.ID,
                            @ISREQUIREDRESOURCE = case when (GROUPTYPEREQUIREDSTAFFRESOURCE.ID is null) then 0 else 1 end,
                            @REQUIREDRESOURCEQUANTITY = coalesce(GROUPTYPEREQUIREDSTAFFRESOURCE.QUANTITYNEEDED, 0),
                            @ITINERARYITEMSEXIST = case when ITINERARY.STARTDATETIME is null then 0 else 1 end
                        from dbo.ITINERARYSTAFFRESOURCE
                        left outer join dbo.JOB on 
                            ITINERARYSTAFFRESOURCE.JOBID = JOB.ID
                        inner join dbo.VOLUNTEERTYPE on 
                            VOLUNTEERTYPE.ID = ITINERARYSTAFFRESOURCE.VOLUNTEERTYPEID
                        inner join dbo.ITINERARY on 
                            ITINERARYSTAFFRESOURCE.ITINERARYID = ITINERARY.ID
                        left outer join dbo.GROUPTYPEREQUIREDSTAFFRESOURCE on 
                            (GROUPTYPEREQUIREDSTAFFRESOURCE.GROUPSALESGROUPTYPECODEID = ITINERARY.GROUPSALESGROUPTYPECODEID) and 
                            (GROUPTYPEREQUIREDSTAFFRESOURCE.VOLUNTEERTYPEID = ITINERARYSTAFFRESOURCE.VOLUNTEERTYPEID) and
                            (GROUPTYPEREQUIREDSTAFFRESOURCE.FILLEDBYCODE = ITINERARYSTAFFRESOURCE.FILLEDBYCODE)
                        where 
                            ITINERARYSTAFFRESOURCE.ID = @ID

                        return 0;