USP_DATAFORMTEMPLATE_VIEW_RESERVEDORDER
The load procedure used by the view dataform template "Reserved Order View 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. |
@ORDERSTATUS | int | INOUT | Status |
@HASINVALIDSALESORDERITEMMEMBERSHIP | bit | INOUT | HASINVALIDSALESORDERITEMMEMBERSHIP |
@NEEDTOCHANGEEVENTREGISTRATIONTOTAL | bit | INOUT | NEEDTOCHANGEEVENTREGISTRATIONTOTAL |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_RESERVEDORDER
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@ORDERSTATUS int = null output,
@HASINVALIDSALESORDERITEMMEMBERSHIP bit = null output,
@NEEDTOCHANGEEVENTREGISTRATIONTOTAL bit = null output
)
as
set nocount on;
set @DATALOADED = 0
select
@DATALOADED = 1,
@ORDERSTATUS = SALESORDER.STATUSCODE
from
dbo.SALESORDER
where
SALESORDER.ID = @ID;
if @ORDERSTATUS = 6
begin
if exists( select MEMBER.ID
from dbo.MEMBER
inner join dbo.SALESORDERITEMMEMBERSHIP on SALESORDERITEMMEMBERSHIP.MEMBERSHIPID = MEMBER.MEMBERSHIPID
inner join dbo.MEMBERSHIP on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBERSHIPPROGRAM on MEMBERSHIP.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID
inner join dbo.SALESORDERITEM on SALESORDERITEM.ID = SALESORDERITEMMEMBERSHIP.ID
inner join dbo.SALESORDER on SALESORDERITEM.SALESORDERID = SALESORDER.ID
where
MEMBERSHIPPROGRAM.ALLOWMULTIPLEMEMBERSHIPS = 0
and MEMBERSHIP.STATUSCODE <> 1
and MEMBER.ISDROPPED <> 1
and MEMBER.CONSTITUENTID in (
select SOM.CONSTITUENTID
from dbo.SALESORDERITEMMEMBER SOM
inner join dbo.SALESORDERITEMMEMBERSHIP SOMP on SOM.SALESORDERITEMMEMBERSHIPID = SOMP.ID
where SOMP.ID = SALESORDERITEMMEMBERSHIP.ID
and dbo.UFN_MEMBERSHIPTRANSACTION_DETERMINEACTIONCODE(SALESORDERITEMMEMBERSHIP.MEMBERSHIPID, SOMP.MEMBERSHIPLEVELID, getdate()) = 0
)
and SALESORDERITEM.SALESORDERID = @ID
and SALESORDER.STATUSCODE = 6
)
set @HASINVALIDSALESORDERITEMMEMBERSHIP = 1
else
set @HASINVALIDSALESORDERITEMMEMBERSHIP = 0
if exists ( select SALESORDERITEM.ID
from dbo.[SALESORDERITEM]
inner join dbo.[SALESORDER] on [SALESORDER].[ID] = [SALESORDERITEM].[SALESORDERID]
inner join dbo.[SALESORDERITEMEVENTREGISTRATION] on [SALESORDERITEM].[ID] = [SALESORDERITEMEVENTREGISTRATION].[ID]
inner join dbo.[REGISTRANT] on [SALESORDERITEMEVENTREGISTRATION].[REGISTRANTID] = [REGISTRANT].[ID]
inner join dbo.[EVENT] on [REGISTRANT].[EVENTID] = [EVENT].[ID]
where
[SALESORDER].[ID] = @ID and
dbo.UFN_EVENTREGISTRANT_GETBALANCE(REGISTRANT.ID) < SALESORDERITEM.TOTAL)
set @NEEDTOCHANGEEVENTREGISTRATIONTOTAL = 1
else
set @NEEDTOCHANGEEVENTREGISTRATIONTOTAL = 0
end
return 0;