USP_REGISTRATIONPACKAGEPRICE_VALIDATEPRICES
Checks that package contains only one price per event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PRICES | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_REGISTRATIONPACKAGEPRICE_VALIDATEPRICES(@PRICES xml)
with execute as caller
as
declare @NAME nvarchar(100)
declare @PRICESTABLE table
(
ID uniqueidentifier,
EVENTID uniqueidentifier
)
insert into @PRICESTABLE(ID, EVENTID)
select
PRICES.ID,
EVENTPRICE.EVENTID
from
dbo.UFN_REGISTRATIONPACKAGEPRICE_GETPRICES_FROMITEMLISTXML(@PRICES) as PRICES
inner join dbo.EVENTPRICE on EVENTPRICE.ID = PRICES.EVENTPRICEID;
if exists(select EVENTID from @PRICESTABLE as PRICES group by EVENTID having count(EVENTID) > 1)
raiserror('Only one registration option can be selected from an event.',13,1);
-- zero or any number above 1 is allowed
if (select count(*) from @PRICESTABLE) = 1
raiserror('A package can include only one registration option per event and must contain at least two registration options.',13,1);