USP_DATAFORMTEMPLATE_ADD_MEMBERSHIPRENEWAL_PRELOAD

The load procedure used by the edit dataform template "Membership Renewal Add Data Form"

Parameters

Parameter Parameter Type Mode Description
@MEMBERSHIPID uniqueidentifier INOUT
@MEMBERID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@MEMBERSHIPPROGRAMID uniqueidentifier INOUT Program
@MEMBERSHIPLEVELID uniqueidentifier INOUT Level
@MEMBERSHIPLEVELTERMID uniqueidentifier INOUT Term
@TRANSACTIONDATE datetime INOUT Transaction date
@EXPIRATIONDATE datetime INOUT Expiration date
@MEMBERSHIPTYPECODEID uniqueidentifier INOUT Type
@NUMBEROFCHILDREN smallint INOUT No. of children
@COMMENTS nvarchar(1000) INOUT Comments
@MEMBERS xml INOUT Members
@ISGIFT bit INOUT This membership is a gift
@SENDRENEWALCODE tinyint INOUT Send renewal notice to
@CURRENTCONSTITUENTID uniqueidentifier INOUT
@GIVENBYID uniqueidentifier INOUT Given By
@ISRENEWAL bit INOUT

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_MEMBERSHIPRENEWAL_PRELOAD
                (
                    @MEMBERSHIPID uniqueidentifier = null output,
                    @MEMBERID uniqueidentifier,
                    @MEMBERSHIPPROGRAMID uniqueidentifier = null output,
                    @MEMBERSHIPLEVELID uniqueidentifier = null output,
                    @MEMBERSHIPLEVELTERMID uniqueidentifier = null output,
                    @TRANSACTIONDATE datetime = null output,
                    @EXPIRATIONDATE datetime = null output,
                    @MEMBERSHIPTYPECODEID uniqueidentifier = null output,
                    @NUMBEROFCHILDREN smallint = null output,
                    @COMMENTS nvarchar(1000) = null output,
                    @MEMBERS xml = null output,
                    @ISGIFT bit = null output,
                    @SENDRENEWALCODE tinyint = null output,
                    @CURRENTCONSTITUENTID uniqueidentifier = null output,
                    @GIVENBYID uniqueidentifier = null output,
                    @ISRENEWAL bit = null output
                )
                as
                    set nocount on;

                    select 
                        @CURRENTCONSTITUENTID = CONSTITUENTID,
                        @MEMBERSHIPID = MEMBERSHIPID
                    from dbo.MEMBER
                    where @MEMBERID = ID 

                    select 
                        @MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAMID,
                        @MEMBERSHIPLEVELID = MEMBERSHIPLEVELID,
                        @MEMBERSHIPLEVELTERMID = MEMBERSHIPLEVELTERMID,
                        @TRANSACTIONDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
                        @EXPIRATIONDATE = EXPIRATIONDATE,
                        @MEMBERSHIPTYPECODEID = MEMBERSHIPLEVELTYPECODEID,
                        @NUMBEROFCHILDREN = NUMBEROFCHILDREN,
                        @COMMENTS = COMMENTS,
                        @ISGIFT = ISGIFT,
                        @SENDRENEWALCODE = SENDRENEWALCODE,
                        @GIVENBYID = GIVENBYID
                    from dbo.MEMBERSHIP
                    where ID = @MEMBERSHIPID;

                    set @MEMBERS =
                    (
                        select
                            M.ID,
                            M.CONSTITUENTID,
                            M.ISPRIMARY,
                            (
                                select
                                    MC.ID,
                                    MC.NAMEONCARD,
                                    MC.EXPIRATIONDATE
                                from dbo.MEMBERSHIPCARD MC
                                where MC.MEMBERID = M.ID and MC.STATUSCODE <> 2
                                for xml raw('ITEM'),type,elements,root('MEMBERSHIPCARDS'),BINARY BASE64
                            )
                            from dbo.MEMBER M
                            where MEMBERSHIPID = @MEMBERSHIPID and ISDROPPED = 0
                            for xml raw ('ITEM'), type, elements, root('MEMBERS'),BINARY BASE64
                    )

                    set @ISRENEWAL = 1;

                    return 0;