USP_DATAFORMTEMPLATE_ADD_MEMBERSHIPPROMO

The save procedure used by the add dataform template "Membership Promotion Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@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
@PROMOTIONTYPECODE tinyint IN Promotion type
@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
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


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

                    set nocount on;

                    if @ID is null
                        set @ID = newid()

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    declare @BASECURRENCYID uniqueidentifier = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
                    declare @ORGANIZATIONAMOUNT money;
                    declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier; 

                    exec dbo.USP_CURRENCY_GETCURRENCYVALUES
                        @AMOUNT,
                        @CURRENTDATE,
                        @BASECURRENCYID,
                        null,
                        null,
                        null,
                        null,
                        @ORGANIZATIONAMOUNT output,
                        @ORGANIZATIONEXCHANGERATEID output,
                        1;

                    begin try
                        insert into dbo.MEMBERSHIPPROMO
                            (ID, NAME, DESCRIPTION, PROMOTIONTYPECODE, EXTENSIONCALCULATIONTYPECODE, DISCOUNTCALCULATIONTYPECODE, APPLICATIONTYPECODE, [PERCENT], AMOUNT, EXTENSIONVALUE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, BASECURRENCYID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID)
                        values
                            (@ID, @NAME, @DESCRIPTION, @PROMOTIONTYPECODE, 1, @DISCOUNTCALCULATIONTYPECODE, @APPLICATIONTYPECODE, @PERCENT, @AMOUNT, @EXTENSIONVALUE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @BASECURRENCYID, @ORGANIZATIONAMOUNT, @ORGANIZATIONEXCHANGERATEID)

                        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