USP_DATAFORMTEMPLATE_EDIT_SALESORDERITEMMEMBERSHIP_3

The save procedure used by the edit dataform template "Sales Order Item Membership Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@MEMBERSHIPPROGRAMID uniqueidentifier IN Program
@MEMBERSHIPLEVELID uniqueidentifier IN Level
@MEMBERSHIPLEVELTERMID uniqueidentifier IN Term
@MEMBERSHIPLEVELTYPECODEID uniqueidentifier IN Type
@NUMBEROFCHILDREN smallint IN No. of children
@COMMENTS nvarchar(1000) IN Comments
@ISGIFT bit IN This membership is a gift
@SENDRENEWALCODE tinyint IN Send renewal notice to
@EXPIRATIONDATE datetime IN Expiration date
@MEMBERS xml IN Members
@GIVENBYID uniqueidentifier IN Given by
@NUMBEROFADDONADULTS smallint IN Number of additional members purchased
@NUMBEROFADDONGUESTS smallint IN Number of guests purchased
@ISMIDTERMUPGRADE bit IN Is mid-term upgrade
@MIDTERMUPGRADEPRICE money IN Mid-term upgrade price

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SALESORDERITEMMEMBERSHIP_3
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @MEMBERSHIPPROGRAMID uniqueidentifier,
                        @MEMBERSHIPLEVELID uniqueidentifier,
                        @MEMBERSHIPLEVELTERMID uniqueidentifier,
                        @MEMBERSHIPLEVELTYPECODEID uniqueidentifier,
                        @NUMBEROFCHILDREN smallint,
                        @COMMENTS nvarchar(1000),
                        @ISGIFT bit,
                        @SENDRENEWALCODE tinyint,
                        @EXPIRATIONDATE datetime,
                        @MEMBERS xml,
                        @GIVENBYID uniqueidentifier,
                        @NUMBEROFADDONADULTS smallint,
                        @NUMBEROFADDONGUESTS smallint,
                        @ISMIDTERMUPGRADE bit,
                        @MIDTERMUPGRADEPRICE money
                    )
                    as
                        set nocount on;

                        declare @PRICE money = null
                        declare @SALESORDERITEMMEMBERSHIPTYPECODE smallint = 1

                        if @ISMIDTERMUPGRADE = 1
                        begin
                            set @PRICE = @MIDTERMUPGRADEPRICE
                            set @SALESORDERITEMMEMBERSHIPTYPECODE = 250
                        end

                        begin try
                            exec dbo.USP_SALESORDERITEMMEMBERSHIP_ADD
                                        @ID,
                                        @CHANGEAGENTID,
                                        null,
                                        null,
                                        @MEMBERSHIPPROGRAMID,
                                        @MEMBERSHIPLEVELID,
                                        @MEMBERSHIPLEVELTERMID,
                                        @MEMBERSHIPLEVELTYPECODEID,
                                        @NUMBEROFCHILDREN,
                                        @COMMENTS,
                                        @ISGIFT,
                                        @SENDRENEWALCODE,
                                        @EXPIRATIONDATE,
                                        @MEMBERS,
                                        @GIVENBYID,
                                        1,
                                        @NUMBEROFADDONADULTS,
                                        @NUMBEROFADDONGUESTS,
                                        @PRICE,
                                        @SALESORDERITEMMEMBERSHIPTYPECODE;

                            declare @SALESORDERID uniqueidentifier;
                            select @SALESORDERID = SALESORDERID from dbo.SALESORDERITEM where ID = @ID;

                        end try

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

                        return 0;