USP_DATAFORMTEMPLATE_ADD_2_GIFTAIDDISQUALIFICATIONRULE

The save procedure used by the add dataform template "Gift Aid Disqualification Rule Add 2".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CAMPAIGNID uniqueidentifier IN Campaign
@APPEALID uniqueidentifier IN Appeal
@DESIGNATIONID uniqueidentifier IN Designation
@EVENTID uniqueidentifier IN Event
@MEMBERSHIPPROGRAMID uniqueidentifier IN Program
@REVENUECATEGORYID uniqueidentifier IN Category
@CREDITCARDTYPECODEID uniqueidentifier IN Credit card type
@PAYMENTMETHODCODE tinyint IN Payment method
@PAYMENTMETHODCODEDESCRIPTION varchar(50) IN Description
@BASEDONSITE tinyint IN Based on
@BASEDONNOSITE tinyint IN Based on
@SITEBASEDRULE bit IN Input parameter indicating the context ID for the record being added.
@RULEISSITEBASED bit IN Rule is site-based
@OTHERPAYMENTMETHODCODEID uniqueidentifier IN Other method

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_2_GIFTAIDDISQUALIFICATIONRULE
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @CAMPAIGNID uniqueidentifier = null,
                        @APPEALID uniqueidentifier = null,
                        @DESIGNATIONID uniqueidentifier = null,
                        @EVENTID uniqueidentifier = null,
                        @MEMBERSHIPPROGRAMID uniqueidentifier = null,
                        @REVENUECATEGORYID uniqueidentifier = null,
                        @CREDITCARDTYPECODEID uniqueidentifier = null,
                        @PAYMENTMETHODCODE tinyint = 0,
                        @PAYMENTMETHODCODEDESCRIPTION varchar(50) = '',
                        @BASEDONSITE tinyint = 0,
                        @BASEDONNOSITE tinyint = 0,
                        @SITEBASEDRULE bit,
                        @RULEISSITEBASED bit = null,
                        @OTHERPAYMENTMETHODCODEID uniqueidentifier = null
                    )
                    as
                    begin
                        set nocount on;

                        declare @CURRENTDATE datetime

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

                        set @CURRENTDATE = getdate()

                        begin try
                            if @SITEBASEDRULE = 1
                            begin
                                if @BASEDONSITE = 0
                                begin
                                    if @APPEALID is not null
                                    begin
                                        set @ID = @APPEALID

                                        insert into dbo.GIFTAIDDISQUALIFIEDBYAPPEAL
                                            (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values
                                            (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                    end
                                    else if @APPEALID is null
                                    begin
                                        raiserror('APPEALREQUIRED', 13, 1)
                                        return 1
                                    end
                                end

                                if @BASEDONSITE = 1
                                begin
                                    if @CAMPAIGNID is not null
                                    begin
                                        set @ID = @CAMPAIGNID

                                        insert into dbo.GIFTAIDDISQUALIFIEDBYCAMPAIGN
                                            (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values
                                            (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                    end
                                    else if @CAMPAIGNID is null
                                    begin
                                        raiserror('CAMPAIGNREQUIRED', 13, 1)
                                        return 1
                                    end
                                end

                                if @BASEDONSITE = 2
                                begin
                                    if @DESIGNATIONID is not null
                                    begin
                                        set @ID = @DESIGNATIONID

                                        insert into dbo.GIFTAIDDISQUALIFIEDBYDESIGNATION
                                            (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values
                                            (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                    end
                                    else if @DESIGNATIONID is null
                                    begin
                                        raiserror('DESIGNATIONREQUIRED', 13, 1)
                                        return 1
                                    end
                                end

                                if @BASEDONSITE = 3  
                                begin
                                    if @EVENTID is not null
                                    begin
                                        set @ID = @EVENTID

                                        insert into dbo.GIFTAIDDISQUALIFIEDBYEVENT
                                            (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values
                                            (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                    end
                                    else if @EVENTID is null
                                    begin
                                        raiserror('EVENTREQUIRED', 13, 1)
                                        return 1
                                    end
                                end

                                if @BASEDONSITE = 4
                                begin
                                    if @MEMBERSHIPPROGRAMID is not null
                                    begin
                                        set @ID = @MEMBERSHIPPROGRAMID

                                        insert into dbo.GIFTAIDDISQUALIFIEDBYMEMBERSHIPPROGRAM
                                            (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values
                                            (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                    end
                                    else if @MEMBERSHIPPROGRAMID is null
                                    begin
                                        raiserror('MEMBERSHIPPROGRAMREQUIRED', 13, 1)
                                        return 1
                                    end
                                end
                            end
                            else
                            begin
                                if @BASEDONNOSITE = 0
                                begin
                                    if @PAYMENTMETHODCODE is not null
                                    begin
                                        if @ID is null
                                            set @ID = newid()

                                        if @PAYMENTMETHODCODE = 10 -- Other payment method
                                        begin
                                            if @OTHERPAYMENTMETHODCODEID is not null
                                            begin
                                                set @ID = @OTHERPAYMENTMETHODCODEID

                                                insert into dbo.GIFTAIDDISQUALIFIEDBYOTHERPAYMENTTYPE
                                                    (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                                values
                                                    (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                            end
                                            else if @OTHERPAYMENTMETHODCODEID is null
                                            begin
                                                raiserror('OTHERPAYMENTMETHODCODEREQUIRED', 13, 1)
                                            return 1
                                            end
                                        end
                                        else if @PAYMENTMETHODCODE = 2 -- Credit card
                                        begin
                                            if @CREDITCARDTYPECODEID is not null
                                            begin
                                                set @ID = @CREDITCARDTYPECODEID

                                                insert into dbo.GIFTAIDDISQUALIFIEDBYCREDITCARDTYPE
                                                    (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                                values
                                                    (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                            end
                                            else if @CREDITCARDTYPECODEID is null
                                            begin
                                                raiserror('CREDITCARDTYPECODEREQUIRED', 13, 1)
                                                return 1
                                            end
                                        end
                                        else
                                        begin
                                            insert into dbo.GIFTAIDDISQUALIFIEDBYPAYMENTMETHOD
                                                (ID,PAYMENTMETHOD,DESCRIPTION,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                            values
                                                (@ID,@PAYMENTMETHODCODE,@PAYMENTMETHODCODEDESCRIPTION,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                        end
                                    end
                                    else if @PAYMENTMETHODCODE is null
                                    begin
                                        raiserror('PAYMENTMETHODCODEREQUIRED', 13, 1)
                                        return 1
                                    end
                                end

                                if @BASEDONNOSITE = 1
                                begin
                                    if @REVENUECATEGORYID is not null
                                    begin
                                        set @ID = @REVENUECATEGORYID

                                        insert into dbo.GIFTAIDDISQUALIFIEDBYREVENUECATEGORY
                                            (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values
                                            (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                                    end
                                    else if @REVENUECATEGORYID is null
                                    begin
                                        raiserror('REVENUECATEGORYREQUIRED', 13, 1)
                                        return 1
                                    end
                                end
                            end

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

                        return 0
                    end