USP_DATAFORMTEMPLATE_EDIT_RECEIPTPREFERENCE_4

The save procedure used by the edit dataform template "Receipt Preference Edit Form 2".

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@RECURRINGGIFTPAYMENTPREFERENCECODE tinyint IN Recurring gift payments
@PLEDGEPAYMENTPREFERENCECODE tinyint IN Pledge payments
@RERECEIPTPAYMENTS bit IN Allow new receipt numbers for re-receipt payments
@SAMENUMBERONRERECEIPT bit IN Allow the same receipt numbers for re-receipt payments
@REGULATEDRECEIPTING bit IN Apply strict receipt rules

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RECEIPTPREFERENCE_4 (
                        @CHANGEAGENTID uniqueidentifier = null,
                        @RECURRINGGIFTPAYMENTPREFERENCECODE tinyint,
                        @PLEDGEPAYMENTPREFERENCECODE tinyint,
                        @RERECEIPTPAYMENTS bit,
                        @SAMENUMBERONRERECEIPT bit,
                        @REGULATEDRECEIPTING bit
                    )
                    as

                        set nocount on;

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

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

                        begin try
                            if (select count(ID) from dbo.RECEIPTPREFERENCEINFO) > 0 
                            begin
                                update 
                                    dbo.RECEIPTPREFERENCEINFO 
                                set
                                    RECURRINGGIFTPAYMENTPREFERENCECODE = @RECURRINGGIFTPAYMENTPREFERENCECODE,
                                    PLEDGEPAYMENTPREFERENCECODE = @PLEDGEPAYMENTPREFERENCECODE,
                                    RERECEIPTPAYMENTS = @RERECEIPTPAYMENTS,
                                    DATECHANGED = @CURRENTDATE,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    SAMENUMBERONRERECEIPT = @SAMENUMBERONRERECEIPT;
                            end
                            else
                            begin
                                insert into dbo.RECEIPTPREFERENCEINFO(ID,RECURRINGGIFTPAYMENTPREFERENCECODE,PLEDGEPAYMENTPREFERENCECODE,RERECEIPTPAYMENTS,DATEADDED,DATECHANGED,ADDEDBYID,CHANGEDBYID,SAMENUMBERONRERECEIPT)
                                    values(newid(),@RECURRINGGIFTPAYMENTPREFERENCECODE,@PLEDGEPAYMENTPREFERENCECODE,@RERECEIPTPAYMENTS,@CURRENTDATE,@CURRENTDATE,@CHANGEAGENTID,@CHANGEAGENTID,@SAMENUMBERONRERECEIPT);
                            end



                            if @REGULATEDRECEIPTING = 1
                                begin
                                if not exists (select ID from dbo.CONDITIONSETTING where NAME = 'RegulatedReceipting')
                                    exec dbo.USP_CONDITIONSETTING_SETCONDITION
                                    @NAME = N'RegulatedReceipting',
                                    @CHANGEAGENTID = @CHANGEAGENTID,
                                    @CURRENTDATE = @CURRENTDATE;
                                end
                            else
                                begin
                                    if exists (select ID from dbo.CONDITIONSETTING where NAME = 'RegulatedReceipting')
                                        exec dbo.USP_CONDITIONSETTING_DELETEBYNAME_WITHCHANGEAGENTID
                                        N'RegulatedReceipting',
                                        @CHANGEAGENTID;
                                end


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

                    return 0;