USP_DESIGNATIONLEVELREVENUEINFORMATION_MARKASORIGINALFUNDING

Executes the "Fundraising Purpose Revenue Information: Mark As Original Funding" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(72) IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy

CREATE procedure dbo.USP_DESIGNATIONLEVELREVENUEINFORMATION_MARKASORIGINALFUNDING (
  @ID nvarchar(72)
  ,@CHANGEAGENTID uniqueidentifier
  )
as
begin
  set nocount on;

  declare @DATECHANGED datetime

  set @DATECHANGED = getdate();

  declare @REVENUEID uniqueidentifier;
  declare @DESIGNATIONLEVELID uniqueidentifier;

  set @REVENUEID = cast(left(@ID, 36) as uniqueidentifier);
  set @DESIGNATIONLEVELID = cast(right(@ID, 36) as uniqueidentifier);

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

  if not exists (
      select 1
      from dbo.DESIGNATIONLEVELREVENUEINFORMATION DLR
      where DLR.REVENUEID = @REVENUEID
        and DLR.DESIGNATIONLEVELID = @DESIGNATIONLEVELID
      )
    insert into dbo.DESIGNATIONLEVELREVENUEINFORMATION (
      REVENUEID
      ,DESIGNATIONLEVELID
      ,ISORIGINALFUNDING
      ,ADDEDBYID
      ,CHANGEDBYID
      ,DATEADDED
      ,DATECHANGED
      )
    values (
      @REVENUEID
      ,@DESIGNATIONLEVELID
      ,1
      ,@CHANGEAGENTID
      ,@CHANGEAGENTID
      ,@DATECHANGED
      ,@DATECHANGED
      );
  else
    update dbo.DESIGNATIONLEVELREVENUEINFORMATION
    set ISORIGINALFUNDING = 1
      ,CHANGEDBYID = @CHANGEAGENTID
      ,DATECHANGED = @DATECHANGED
    where ISORIGINALFUNDING <> 1
      and REVENUEID = @REVENUEID
      and DESIGNATIONLEVELID = @DESIGNATIONLEVELID;

  return 0;
end