USP_DATAFORMTEMPLATE_VIEW_BASICMEMBERSHIPINFO

The load procedure used by the view dataform template "Basic Membership Info View"

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.
@EXPIRATIONDATE datetime INOUT Expiration date
@PRICE money INOUT Price
@MEMBERSALLOWED smallint INOUT Members allowed
@CHILDRENALLOWED smallint INOUT Children allowed
@CARDSALLOWED smallint INOUT
@HASTYPE bit INOUT

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_BASICMEMBERSHIPINFO
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @EXPIRATIONDATE datetime = null output,
                    @PRICE money = null output,
                    @MEMBERSALLOWED smallint = null output,
                    @CHILDRENALLOWED smallint = null output,
                    @CARDSALLOWED smallint = null output,
                    @HASTYPE bit = null output
                )
                as
                    set nocount on;

                    -- be sure to set this, in case the select returns no rows
                    set @DATALOADED = 0;

                    declare @DATE datetime;
                    set @DATE = getdate()

                    declare @MEMBERSHIPLEVELID uniqueidentifier;
                    select 
                        @MEMBERSHIPLEVELID = [MEMBERSHIPLEVEL].[ID],
                        @PRICE = [MEMBERSHIPLEVELTERM].[AMOUNT],
                        @MEMBERSALLOWED = [MEMBERSHIPLEVEL].[MEMBERSALLOWED],
                        @CHILDRENALLOWED = [MEMBERSHIPLEVEL].[CHILDRENALLOWED],
                        @CARDSALLOWED = [MEMBERSHIPLEVEL].[CARDSALLOWED],
                        @HASTYPE = case
                                        when exists (select * from dbo.[MEMBERSHIPLEVELTYPE] [TYPE]
                                                                inner join dbo.[MEMBERSHIPLEVEL] [LEVEL
                                                                    on [TYPE].[LEVELID] = [LEVEL].[ID]
                                                                where [LEVEL].[MEMBERSHIPPROGRAMID] = [MEMBERSHIPLEVEL].[MEMBERSHIPPROGRAMID])
                                            then 1
                                        else 0
                                   end
                    from dbo.[MEMBERSHIPLEVELTERM]
                    inner join dbo.[MEMBERSHIPLEVEL]
                        on [MEMBERSHIPLEVELTERM].[LEVELID] = [MEMBERSHIPLEVEL].[ID]
                    where [MEMBERSHIPLEVELTERM].[ID] = @ID;

                    set @EXPIRATIONDATE = dbo.UFN_MEMBERSHIP_CALCULATEEXPIRATIONDATEBYLEVEL(@MEMBERSHIPLEVELID, @ID, @DATE);

                    set @DATALOADED = 1;

                    return 0;