USP_DATAFORMTEMPLATE_TAXDECLARATION_EDIT_3
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@DECLARATIONMADE | datetime | IN | |
@DECLARATIONSTARTS | datetime | IN | |
@DECLARATIONENDS | datetime | IN | |
@DECLARATIONINDICATORCODE | tinyint | IN | |
@DECLARATIONSOURCECODEID | uniqueidentifier | IN | |
@CHARITYCLAIMREFERENCENUMBERID | uniqueidentifier | IN | |
@SCANNEDDOCSEXIST | bit | IN | |
@CONFIRMATIONSENT | datetime | IN | |
@CONFIRMATIONRETURNED | datetime | IN | |
@PAYSTAXCODE | tinyint | IN | |
@TAXSTATUSCODEID | uniqueidentifier | IN | |
@COMMENTS | nvarchar(255) | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@NAMEOPTIONCODE | tinyint | IN | |
@ALIASID | uniqueidentifier | IN | |
@ADDRESSOPTIONCODE | tinyint | IN | |
@ADDRESSID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_TAXDECLARATION_EDIT_3
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@DECLARATIONMADE datetime,
@DECLARATIONSTARTS datetime,
@DECLARATIONENDS datetime,
@DECLARATIONINDICATORCODE tinyint,
@DECLARATIONSOURCECODEID uniqueidentifier,
@CHARITYCLAIMREFERENCENUMBERID uniqueidentifier,
@SCANNEDDOCSEXIST bit,
@CONFIRMATIONSENT datetime,
@CONFIRMATIONRETURNED datetime,
@PAYSTAXCODE tinyint,
@TAXSTATUSCODEID uniqueidentifier,
@COMMENTS nvarchar(255),
@CURRENTAPPUSERID uniqueidentifier,
@NAMEOPTIONCODE tinyint,
@ALIASID uniqueidentifier,
@ADDRESSOPTIONCODE tinyint,
@ADDRESSID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
-- Validate the user has permission for the CCRN
if not exists (select PERMISSIONGRANTED from dbo.UFN_APPUSER_HASPERMISSIONFORDECLARATION(@CURRENTAPPUSERID, @CHARITYCLAIMREFERENCENUMBERID))
begin
raiserror('BBERR_PERMISSIONDENIEDFORCCRN', 13, 1);
return 1;
end
if @NAMEOPTIONCODE = 0 begin
set @ALIASID = null;
end
if @ADDRESSOPTIONCODE = 0 begin
set @ADDRESSID = null;
end
begin try
declare
@CONSTITUENTID uniqueidentifier,
@OLDDECLARATIONSTARTS datetime,
@OLDDECLARATIONENDS datetime,
@OLDPAYSTAXCODE tinyint;
select
@OLDDECLARATIONSTARTS = DECLARATIONSTARTS,
@OLDDECLARATIONENDS = DECLARATIONENDS,
@OLDPAYSTAXCODE = PAYSTAXCODE,
@CONSTITUENTID = CONSTITUENTID
from dbo.TAXDECLARATION
where
ID = @ID
update dbo.TAXDECLARATION set
DECLARATIONMADE = @DECLARATIONMADE,
DECLARATIONSTARTS = @DECLARATIONSTARTS,
DECLARATIONENDS = dbo.UFN_DATE_GETLATESTTIME(@DECLARATIONENDS),
DECLARATIONINDICATORCODE = @DECLARATIONINDICATORCODE,
DECLARATIONSOURCECODEID = @DECLARATIONSOURCECODEID,
CHARITYCLAIMREFERENCENUMBERID = @CHARITYCLAIMREFERENCENUMBERID,
SCANNEDDOCSEXIST = @SCANNEDDOCSEXIST,
CONFIRMATIONSENT = @CONFIRMATIONSENT,
CONFIRMATIONRETURNED = @CONFIRMATIONRETURNED,
PAYSTAXCODE = @PAYSTAXCODE,
TAXSTATUSCODEID = @TAXSTATUSCODEID,
COMMENTS = @COMMENTS,
ALIASID = @ALIASID,
ADDRESSID = @ADDRESSID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
-- Only update the tribute gift aid amounts if values that change the gift aid eligibility were updated
if @OLDDECLARATIONSTARTS <> @DECLARATIONSTARTS or -- No need to handle null start dates since it's required and so it can't be null
(@OLDDECLARATIONENDS is null and @DECLARATIONENDS is not null) or
(@OLDDECLARATIONENDS is not null and @DECLARATIONENDS is null) or
@OLDDECLARATIONENDS <> @DECLARATIONENDS or
@OLDPAYSTAXCODE <> @PAYSTAXCODE
begin
exec dbo.USP_REVENUETRIBUTETAXCLAIMAMOUNT_ADDUPDATEBYCONSTITUENT @CONSTITUENTID, @CHANGEAGENTID, @CURRENTDATE;
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;