USP_SPONSORSHIP_MAKESOLESPONSORSHIP

Updates a sponsorship to be a sole sponsorship.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.
@ACQUIRELOCK bit IN

Definition

Copy


CREATE procedure dbo.USP_SPONSORSHIP_MAKESOLESPONSORSHIP
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier,
  @ACQUIRELOCK bit = 0
)
as
begin
  if @CHANGEAGENTID is null
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    declare @CURRENTDATE datetime;
    set @CURRENTDATE = getdate();

    declare @SPONSORSHIPOPPORTUNITYID uniqueidentifier

    select @SPONSORSHIPOPPORTUNITYID = SPONSORSHIPOPPORTUNITYID
    from dbo.SPONSORSHIP
    where ID = @ID;

    begin try
    if @ACQUIRELOCK = 1
      exec dbo.USP_SPONSORSHIPOPPORTUNITY_LOCK @SPONSORSHIPOPPORTUNITYID, 3, @CHANGEAGENTID

        update dbo.SPONSORSHIPOPPORTUNITY
        set AVAILABILITYCODE = 2,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE
        where ID = @SPONSORSHIPOPPORTUNITYID
        and AVAILABILITYCODE = 0;

        if @@ROWCOUNT = 0
            raiserror('BBERR_OPPORTUNITYNOTAVAILABLE',13,1)

        update dbo.SPONSORSHIP
        set ISSOLESPONSORSHIP = 1,
            CHANGEDBYID = @CHANGEAGENTID,
              DATECHANGED = @CURRENTDATE
        where ID = @ID;

    exec dbo.USP_SPONSORSHIPOPPORTUNITY_UNLOCK @SPONSORSHIPOPPORTUNITYID, 0, @CHANGEAGENTID
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch
end