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;