USP_DATAFORMTEMPLATE_EDITLOAD_RESERVATIONRATESCALE
The load procedure used by the edit dataform template "Reservation Rate Scale 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. |
@INITIALRATESCALEID | uniqueidentifier | INOUT | |
@RATESCALEID | uniqueidentifier | INOUT | Flat rate scale |
@RATESCALEPRICES | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RESERVATIONRATESCALE
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@INITIALRATESCALEID uniqueidentifier = null output,
@RATESCALEID uniqueidentifier = null output,
@RATESCALEPRICES xml = null output
)
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
select
@DATALOADED = 1,
@TSLONG = TSLONG,
@RATESCALEID = RATESCALEID
from dbo.RESERVATIONRATESCALE
where ID = @ID
if @DATALOADED = 1
begin
set @INITIALRATESCALEID = @RATESCALEID
declare @TOTALVISITORS smallint
select
@TOTALVISITORS = isnull(sum(QUANTITY),0)
from dbo.ITINERARYATTENDEE
inner join dbo.ITINERARY on
ITINERARY.ID = ITINERARYATTENDEE.ITINERARYID
where ITINERARY.RESERVATIONID = @ID
set @RATESCALEPRICES = (
select
RATESCALEID,
AMOUNT,
GROUPMINIMUM,
GROUPMAXIMUM,
USEPERTICKETAFTERMAX
from
dbo.RATESCALEPRICE
inner join dbo.RATESCALE on RATESCALE.ID = RATESCALEPRICE.RATESCALEID
where
@TOTALVISITORS >= GROUPMINIMUM and
(
@TOTALVISITORS <= GROUPMAXIMUM or
GROUPMAXIMUM = -1
)
for xml raw('ITEM'), type, elements, root('RATESCALEPRICES'), binary base64
);
end
return 0;