USP_DATAFORMTEMPLATE_ADD_INCENTIVE_LEVEL

The save procedure used by the add dataform template "FAFIncentiveLevel Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@EVENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(1000) IN Description
@TYPECODE tinyint IN Type
@MAXIMUMAMOUNT money IN Minimum to qualify for incentive
@MAXIMUMRETENTION decimal(6, 2) IN Minimum to qualify for incentive
@MAXIMUMNUMBER int IN Minimum to qualify for incentive
@BENEFITS xml IN Benefits

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_INCENTIVE_LEVEL
(
    @ID uniqueidentifier = null output,    
    @EVENTID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @NAME nvarchar(100),
    @DESCRIPTION nvarchar(1000) = null,
      @TYPECODE tinyint = 1,
      @MAXIMUMAMOUNT money = 0,     
    @MAXIMUMRETENTION decimal(6,2)= 0,
    @MAXIMUMNUMBER int = 0,
    @BENEFITS xml = null
)
as

set nocount on;

if @ID is null
    set @ID = newid()

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

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

IF @TYPECODE = 1 AND @MAXIMUMAMOUNT <= 0
BEGIN
  raiserror('MAXIMUMAMOUNTNOTVALID',13,2);
  return 1
END

IF @TYPECODE IN (2,4,5) AND @MAXIMUMNUMBER <= 0
BEGIN
  raiserror('MAXIMUMNUMBERNOTVALID',13,2);
  return 1
END

IF @TYPECODE = 3 AND (@MAXIMUMRETENTION/100 <= 0 OR @MAXIMUMRETENTION/100 > 1)
BEGIN
  raiserror('MAXIMUMRETENTIONNOTVALID',13,2);
  return 1
END

begin try
    -- handle inserting the data
    insert into dbo.FAFINCENTIVELEVEL
        (ID, EVENTID, NAME, DESCRIPTION, TYPECODE, MAXIMUMAMOUNT, MAXIMUMRETENTION, MAXIMUMNUMBER, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED )
    values
        (@ID, @EVENTID, @NAME, @DESCRIPTION, @TYPECODE, @MAXIMUMAMOUNT, @MAXIMUMRETENTION/100, @MAXIMUMNUMBER, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

  exec dbo.USP_REGISTRATIONSPONSORSHIP_GETBENEFITS_ADDFROMXML @ID, 'incentivelevel', @BENEFITS, @CHANGEAGENTID, @CURRENTDATE;

  update dbo.EVENTFAFCONFIG
    set
    INCENTIVELEVELISSET = 1,
    CHANGEDBYID = @CHANGEAGENTID,
    DATECHANGED = @CURRENTDATE
    where EVENTFAFCONFIG.EVENTID = @EVENTID

  exec dbo.USP_FAFDATACACHE_CLEAR @EVENTID=@EVENTID

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0