USP_DATAFORMTEMPLATE_EDITLOAD_ITINERARYITEMSTAFFRESOURCEVOLUNTEERSCHEDULE
The load procedure used by the edit dataform template "Itinerary Item 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_ITINERARYITEMSTAFFRESOURCEVOLUNTEERSCHEDULE
(
@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 = ITINERARYITEMSTAFFRESOURCE.TSLONG,
@VOLUNTEERTYPENAME = VOLUNTEERTYPE.NAME,
@QUANTITYNEEDED = ITINERARYITEMSTAFFRESOURCE.QUANTITYNEEDED,
@DISPLAYNAME = ITINERARY.NAME + ' - ' + ITINERARYITEM.NAME,
@STARTDATE = ITINERARYITEM.STARTDATE,
@STARTTIME = ITINERARYITEM.STARTTIME,
@ENDDATE = ITINERARYITEM.ENDDATE,
@ENDTIME = ITINERARYITEM.ENDTIME,
@ITINERARYID = ITINERARY.ID,
@LEADER = CONSTITUENTNAMEFORMAT.NAME
from dbo.ITINERARYITEMSTAFFRESOURCE
inner join dbo.VOLUNTEERTYPE on
ITINERARYITEMSTAFFRESOURCE.VOLUNTEERTYPEID = VOLUNTEERTYPE.ID
inner join dbo.ITINERARYITEM on
ITINERARYITEMSTAFFRESOURCE.ITINERARYITEMID = ITINERARYITEM.ID
inner join dbo.ITINERARY on
ITINERARY.ID = ITINERARYITEM.ITINERARYID
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(ITINERARY.LEADERID) as CONSTITUENTNAMEFORMAT
where
ITINERARYITEMSTAFFRESOURCE.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 = CONSTITUENTNAMEFORMAT.NAME
from dbo.ITINERARY
inner join dbo.RESERVATION on
ITINERARY.RESERVATIONID = RESERVATION.ID
inner join dbo.SALESORDER on
RESERVATION.ID = SALESORDER.ID
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(SALESORDER.CONSTITUENTID) as CONSTITUENTNAMEFORMAT
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,
CONSTITUENTNAMEFORMAT.NAME as NAME
from dbo.ITINERARYITEMSTAFFRESOURCE
inner join dbo.VOLUNTEERASSIGNMENT on
ITINERARYITEMSTAFFRESOURCE.JOBOCCURRENCEID = VOLUNTEERASSIGNMENT.JOBOCCURRENCEID
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(VOLUNTEERASSIGNMENT.VOLUNTEERID) as CONSTITUENTNAMEFORMAT
where
ITINERARYITEMSTAFFRESOURCE.ID = @ID
for xml raw('ITEM'),type,elements,root('VOLUNTEERS'),binary base64
)
end
return 0;