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;