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;