USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTDESIGNATION
The load procedure used by the edit dataform template "Registrant Designation 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. |
@REGISTRANTDESIGNATIONS | xml | INOUT | Designations |
@TOTALAMOUNT | money | INOUT | Total Amount |
@EVENTID | uniqueidentifier | INOUT | Event |
@EVENTBASECURRENCYID | uniqueidentifier | INOUT | Base currency ID |
@HASEVENTDESIGNATIONPAYMENT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REGISTRANTDESIGNATION(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@REGISTRANTDESIGNATIONS xml = null output,
@TOTALAMOUNT money = null output,
@EVENTID uniqueidentifier = null output,
@EVENTBASECURRENCYID uniqueidentifier = null output,
@HASEVENTDESIGNATIONPAYMENT bit = null output
)
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
select
@DATALOADED = 1,
@TSLONG = (select max(TSLONG) from dbo.REGISTRANTDESIGNATION where REGISTRANTID = @ID),
@REGISTRANTDESIGNATIONS = dbo.UFN_REGISTRANT_GETDESIGNATIONS_TOITEMLISTXML(@ID),
@TOTALAMOUNT = coalesce((select sum(REGISTRANTREGISTRATION.RECEIPTAMOUNT) from dbo.REGISTRANTREGISTRATION where REGISTRANTREGISTRATION.REGISTRANTID = @ID),0),
@EVENTID = EVENT.ID,
@EVENTBASECURRENCYID = EVENT.BASECURRENCYID
from dbo.REGISTRANT
inner join dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
where REGISTRANT.ID = @ID
set @HASEVENTDESIGNATIONPAYMENT = 0;
if exists(
select 1
from dbo.EVENTREGISTRANTPAYMENT
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTIONLINEITEM.ID = EVENTREGISTRANTPAYMENT.PAYMENTID
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = FINANCIALTRANSACTIONLINEITEM.ID
where
EVENTREGISTRANTPAYMENT.REGISTRANTID = @ID
and REVENUESPLIT_EXT.APPLICATIONCODE = 1
and FINANCIALTRANSACTIONLINEITEM.TYPECODE = 0
)
set @HASEVENTDESIGNATIONPAYMENT = 1;
return 0;