USP_DATAFORMTEMPLATE_EDITLOAD_RATESCALE
The load procedure used by the edit dataform template "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. |
@NAME | nvarchar(100) | INOUT | Name |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@ISDEFAULT | bit | INOUT | Set as default rate scale |
@ISACTIVE | bit | INOUT | Active |
@ISSINGLEPRICE | bit | INOUT | |
@AMOUNT | money | INOUT | Group of any size pays |
@PRICES | xml | INOUT | Prices |
@APPLICATIONS | xml | INOUT | Applications |
@GROUPSALESGROUPTYPECODEID | uniqueidentifier | INOUT | Group type |
@USEPERTICKETAFTERMAX | bit | INOUT | Group over size pays |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RATESCALE(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@NAME nvarchar(100) = null output,
@DESCRIPTION nvarchar(255) = null output,
@ISDEFAULT bit = null output,
@ISACTIVE bit = null output,
@ISSINGLEPRICE bit = null output,
@AMOUNT money = null output,
@PRICES xml = null output,
@APPLICATIONS xml = null output,
@GROUPSALESGROUPTYPECODEID uniqueidentifier = null output,
@USEPERTICKETAFTERMAX bit = null output
)
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
select
@DATALOADED = 1,
@TSLONG = TSLONG,
@NAME = NAME,
@DESCRIPTION = DESCRIPTION,
@ISDEFAULT = ISDEFAULT,
@ISACTIVE = ISACTIVE,
@GROUPSALESGROUPTYPECODEID = GROUPSALESGROUPTYPECODEID,
@USEPERTICKETAFTERMAX = USEPERTICKETAFTERMAX
from dbo.RATESCALE
where ID = @ID
if @DATALOADED = 1
begin
if @ISACTIVE = 0
set @ISDEFAULT = 0
declare @PRICECOUNT smallint
select
@PRICECOUNT = count(ID)
from
dbo.RATESCALEPRICE
where RATESCALEID = @ID
if @PRICECOUNT > 1
begin
set @ISSINGLEPRICE = 0
set @PRICES = (
select
ID,
GROUPMAXIMUM as SIZE,
AMOUNT
from dbo.RATESCALEPRICE
where
RATESCALEID = @ID and
GROUPMAXIMUM <> -1
order by GROUPMAXIMUM
for xml raw('ITEM'),type,elements,root('PRICES'),binary base64
)
end
else
set @ISSINGLEPRICE = 1
select
@AMOUNT = AMOUNT
from dbo.RATESCALEPRICE
where
RATESCALEID = @ID and
GROUPMAXIMUM = -1
set @APPLICATIONS = dbo.UFN_RATESCALE_GETRATESCALEAPPLICATIONS_TOITEMLISTXML(@ID);
end
return 0;