USP_DESIGNATIONLEVELREVENUEINFORMATION_MARKASBENEFACTOR

Executes the "Fundraising Purpose Revenue Information: Mark As Benefactor" 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_MARKASBENEFACTOR (
  @ID nvarchar(72)
  ,@CHANGEAGENTID uniqueidentifier
  )
as
begin
  set nocount on;

  declare @DATECHANGED datetime

  set @DATECHANGED = getdate();

  declare @CONSTITUENTID uniqueidentifier;
  declare @DESIGNATIONLEVELID uniqueidentifier;

  set @CONSTITUENTID = 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.DESIGNATIONLEVELDONORINFORMATION DLD
      where DLD.CONSTITUENTID = @CONSTITUENTID
        and DLD.DESIGNATIONLEVELID = @DESIGNATIONLEVELID
      )
    insert into dbo.DESIGNATIONLEVELDONORINFORMATION (
      CONSTITUENTID
      ,DESIGNATIONLEVELID
      ,ISBENEFACTOR
      ,ADDEDBYID
      ,CHANGEDBYID
      ,DATEADDED
      ,DATECHANGED
      )
    values (
      @CONSTITUENTID
      ,@DESIGNATIONLEVELID
      ,1
      ,@CHANGEAGENTID
      ,@CHANGEAGENTID
      ,@DATECHANGED
      ,@DATECHANGED
      );
  else
    update dbo.DESIGNATIONLEVELDONORINFORMATION
    set ISBENEFACTOR = 1
      ,CHANGEDBYID = @CHANGEAGENTID
      ,DATECHANGED = @DATECHANGED
    where ISBENEFACTOR = 0
      and CONSTITUENTID = @CONSTITUENTID
      and DESIGNATIONLEVELID = @DESIGNATIONLEVELID;

  return 0;
end