USP_SPONSOR_CHECKANDMAKEINACTIVE

Applies the specified end date to the sponsor date range record for the specified constituent if appropriate.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@ENDDATE date IN
@SPONSORTYPECODE tinyint IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTDATE datetime IN

Definition

Copy


CREATE procedure dbo.USP_SPONSOR_CHECKANDMAKEINACTIVE
(
    @CONSTITUENTID uniqueidentifier,
    @ENDDATE date,
    @SPONSORTYPECODE tinyint,
    @CHANGEAGENTID uniqueidentifier = null,
    @CURRENTDATE datetime = null
)
as
begin
    set nocount on;

    if @CURRENTDATE is null
        set @CURRENTDATE = getdate();

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

    declare @ACTIVECOUNT int;

    if @SPONSORTYPECODE in(0,1)
        select @ACTIVECOUNT =
          count(case @SPONSORTYPECODE
                  when 0 then case when SPONSORSHIP.CONSTITUENTID = REVENUE.CONSTITUENTID then 'x' end
                  when 1 then case when SPONSORSHIP.CONSTITUENTID <> REVENUE.CONSTITUENTID then 'x' end
                end)
        from dbo.SPONSORSHIP
        left join dbo.REVENUESPLIT on REVENUESPLIT.ID = SPONSORSHIP.REVENUESPLITID
        left join dbo.REVENUE on REVENUE.ID = REVENUESPLIT.REVENUEID
        where SPONSORSHIP.CONSTITUENTID = @CONSTITUENTID
        and SPONSORSHIP.STATUSCODE = 1;
    else
        select @ACTIVECOUNT = count('x')
        from dbo.SPONSORSHIP
        inner join dbo.REVENUESPLIT on REVENUESPLIT.ID = SPONSORSHIP.REVENUESPLITID
        inner join dbo.REVENUE on REVENUE.ID = REVENUESPLIT.REVENUEID
        where REVENUE.CONSTITUENTID = @CONSTITUENTID
        and SPONSORSHIP.CONSTITUENTID <> REVENUE.CONSTITUENTID
        and SPONSORSHIP.STATUSCODE = 1;


    if @ACTIVECOUNT = 0
        update dbo.SPONSORDATERANGE
        set DATETO = @ENDDATE,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where CONSTITUENTID = @CONSTITUENTID
        and SPONSORTYPECODE = @SPONSORTYPECODE
        and DATETO is null;
end