USP_DATAFORMTEMPLATE_EDIT_MEMBERSHIPPROMO

The save procedure used by the edit dataform template "Membership Promotion Edit 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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@DISCOUNTCALCULATIONTYPECODE tinyint IN Discount type
@APPLICATIONTYPECODE tinyint IN Application type
@PERCENT decimal(5, 2) IN Percent off
@AMOUNT money IN Amount off
@EXTENSIONVALUE int IN Extend term by
@PROMOTIONALCODES xml IN Promotion Codes

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MEMBERSHIPPROMO
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255),
                        @DISCOUNTCALCULATIONTYPECODE tinyint,
                        @APPLICATIONTYPECODE tinyint,
                        @PERCENT decimal(5,2),
                        @AMOUNT money,
                        @EXTENSIONVALUE int,
                        @PROMOTIONALCODES xml
                    )
                    as

                        set nocount on;

                        if @CHANGEAGENTID is null
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                        declare @DATEADDED datetime;
                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate();

                        declare @BASECURRENCYID uniqueidentifier;
                        declare @ORGANIZATIONAMOUNT money;
                        declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;

                        select
                            @BASECURRENCYID = MEMBERSHIPPROMO.BASECURRENCYID,
                            @ORGANIZATIONEXCHANGERATEID = MEMBERSHIPPROMO.ORGANIZATIONEXCHANGERATEID,
                            @DATEADDED = MEMBERSHIPPROMO.DATEADDED
                        from
                            dbo.MEMBERSHIPPROMO
                        where
                            MEMBERSHIPPROMO.ID = @ID;

                        exec dbo.USP_CURRENCY_GETCURRENCYVALUES
                            @AMOUNT,
                            @DATEADDED,
                            @BASECURRENCYID,
                            null,
                            null,
                            null,
                            null,
                            @ORGANIZATIONAMOUNT output,
                            @ORGANIZATIONEXCHANGERATEID output,
                            0;                        

                        begin try
                            -- handle updating the data

                            update dbo.MEMBERSHIPPROMO set
                                NAME = @NAME,
                                DESCRIPTION = @DESCRIPTION,
                                EXTENSIONCALCULATIONTYPECODE = 1,
                                DISCOUNTCALCULATIONTYPECODE = @DISCOUNTCALCULATIONTYPECODE,
                                APPLICATIONTYPECODE = @APPLICATIONTYPECODE,
                                [PERCENT] = @PERCENT,
                                AMOUNT = @AMOUNT,
                                EXTENSIONVALUE = @EXTENSIONVALUE,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE,
                                ORGANIZATIONEXCHANGERATEID = @ORGANIZATIONEXCHANGERATEID,
                                ORGANIZATIONAMOUNT = @ORGANIZATIONAMOUNT                                
                            where ID = @ID

                            exec dbo.USP_MEMBERSHIPPROMO_GETCODES_UPDATEFROMXML @ID, @PROMOTIONALCODES, @CHANGEAGENTID, @CURRENTDATE;
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                    return 0;