USP_REVENUE_PAYMENTGIFTFEE_SAVE
Stored proc to update the gift fees on a payment.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@GIFTFEES | xml | IN | |
@REASONCODEID | uniqueidentifier | IN | |
@COMMENTS | nvarchar(255) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_REVENUE_PAYMENTGIFTFEE_SAVE
(
@ID uniqueidentifier,
@GIFTFEES xml,
@REASONCODEID uniqueidentifier,
@COMMENTS nvarchar(255),
@CHANGEAGENTID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
--Rows are not allowed to be removed so update and insert are all we need
update dbo.REVENUESPLITGIFTFEE
set REVENUESPLITGIFTFEE.FEE = FEES.FEE,
REVENUESPLITGIFTFEE.WAIVED = FEES.WAIVED,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from dbo.REVENUESPLITGIFTFEE
inner join dbo.UFN_REVENUE_GETGIFTFEES_FROMITEMLISTXML(@GIFTFEES) FEES
on FEES.ID = REVENUESPLITGIFTFEE.ID
where FEES.FEE <> REVENUESPLITGIFTFEE.FEE
or FEES.WAIVED <> REVENUESPLITGIFTFEE.WAIVED
insert into dbo.REVENUESPLITGIFTFEE(ID, FEE, WAIVED, CHANGEDBYID, ADDEDBYID, DATECHANGED, DATEADDED)
select ID, FEE, WAIVED, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.UFN_REVENUE_GETGIFTFEES_FROMITEMLISTXML(@GIFTFEES) FEES
where not exists(select top 1 ID from REVENUESPLITGIFTFEE where REVENUESPLITGIFTFEE.ID = FEES.ID)
and (FEE > 0 or WAIVED = 1)
update dbo.PAYMENTGIFTFEEOVERRIDE
set
REASONCODEID = @REASONCODEID,
COMMENTS = @COMMENTS,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.PAYMENTGIFTFEEOVERRIDE
where
ID = @ID;
--if new then insert data
if @@ROWCOUNT = 0
insert into dbo.PAYMENTGIFTFEEOVERRIDE(ID, REASONCODEID, COMMENTS, ADDEDBYID, CHANGEDBYID, DATECHANGED, DATEADDED)
values(@ID, @REASONCODEID, @COMMENTS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)