USP_DATAFORMTEMPLATE_ADD_GIFTAIDDISQUALIFICATIONRULE

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

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

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_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
)
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 @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

          if @BASEDONNOSITE = 1
              begin
                  if @PAYMENTMETHODCODE is not null
                      begin
                        if @ID is null
                          begin
                              set @ID = newid()
                              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 = 2
              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