USP_REGISTRATIONINFORMATION_VALIDATEANDCORRECTPARAMETERS

Parameters

Parameter Parameter Type Mode Description
@TYPECODE tinyint IN
@DISPLAYONLINE bit INOUT
@ONLINEHTML nvarchar(max) INOUT
@RESPONSETYPECODE tinyint INOUT
@REGISTRATIONINFORMATIONOPTIONS xml INOUT
@ALLPRICETYPES bit INOUT
@REGISTRATIONINFORMATIONPRICETYPES xml INOUT
@ASKPERSONPHONE2 bit INOUT
@ASKPERSONEMAIL bit INOUT

Definition

Copy


create procedure dbo.USP_REGISTRATIONINFORMATION_VALIDATEANDCORRECTPARAMETERS (
    @TYPECODE tinyint,
    @DISPLAYONLINE bit output,
    @ONLINEHTML nvarchar(max) output,
    @RESPONSETYPECODE tinyint output,
    @REGISTRATIONINFORMATIONOPTIONS xml output,
    @ALLPRICETYPES bit output,
    @REGISTRATIONINFORMATIONPRICETYPES xml output,
    @ASKPERSONPHONE2 bit output,
    @ASKPERSONEMAIL bit output
)
as
    set nocount on;

    begin try
        if @TYPECODE = 0 begin  -- Announcement

            set @DISPLAYONLINE = 1;
            set @RESPONSETYPECODE = 0;  -- Text

            set @ALLPRICETYPES = 1;
        end

        if @DISPLAYONLINE = 0 begin
            set @ONLINEHTML = '';
        end else if @ONLINEHTML = '' begin
            raiserror('BBERR_REGISTRATIONINFORMATION_ONLINEHTMLREQUIRED', 13, 1);
        end

        if @RESPONSETYPECODE <> 4 begin     -- Person

            set @ASKPERSONPHONE2 = 0;
            set @ASKPERSONEMAIL = 0;
        end

        if @RESPONSETYPECODE <> 2 begin            -- Dropdown list

            set @REGISTRATIONINFORMATIONOPTIONS = null;
        end else if not exists (select 1 from @REGISTRATIONINFORMATIONOPTIONS.nodes('/REGISTRATIONINFORMATIONOPTIONS/ITEM') as T(c)) begin
            raiserror('BBERR_REGISTRATIONINFORMATION_REGISTRATIONINFORMATIONOPTIONSREQUIRED', 13, 1);
        end


        if @ALLPRICETYPES = 1 begin
            set @REGISTRATIONINFORMATIONPRICETYPES = null;
        end else if not exists (select 1 from @REGISTRATIONINFORMATIONPRICETYPES.nodes('/REGISTRATIONINFORMATIONPRICETYPES/ITEM') as T(c)) begin
            raiserror('BBERR_REGISTRATIONINFORMATION_REGISTRATIONINFORMATIONPRICETYPESREQUIRED', 13, 1);
        end
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;