UFN_SPONSORSHIPCANCELLATIONREPORT_CHECKTENURE

Checks the tenure of a sponsor based on a sponsorship

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@SPONSORSHIPCANCELLATIONREPORTTENURECODEID uniqueidentifier IN
@SPONSORSHIPID uniqueidentifier IN
@ENDDATE datetime IN

Definition

Copy


CREATE function dbo.UFN_SPONSORSHIPCANCELLATIONREPORT_CHECKTENURE(
@SPONSORSHIPCANCELLATIONREPORTTENURECODEID uniqueidentifier,
@SPONSORSHIPID uniqueidentifier,
@ENDDATE datetime
)
returns bit
with execute as caller
as begin

  declare @DATEFROM date
  declare @TENURE int 

    declare @CONSTITUENTID uniqueidentifier;
    select @CONSTITUENTID = R.CONSTITUENTID from dbo.SPONSORSHIP S
    inner join dbo.REVENUESPLIT RS on RS.ID = S.REVENUESPLITID
    inner join dbo.REVENUE R on R.ID = RS.REVENUEID
    where S.ID = @SPONSORSHIPID

    declare @DATETO datetime
    select @DATEFROM = max(DATEFROM) from dbo.SPONSORDATERANGE
    where CONSTITUENTID = @CONSTITUENTID;

    select @DATETO=DATETO from dbo.SPONSORDATERANGE
    where CONSTITUENTID = @CONSTITUENTID and DATEFROM = @DATEFROM

    if @DATEFROM is null
      return 0

    if @DATETO is null
      set @ENDDATE = getdate();

  select 
    @TENURE = SEQUENCE 
  from dbo.SPONSORSHIPCANCELLATIONREPORTTENURECODE where ID = @SPONSORSHIPCANCELLATIONREPORTTENURECODEID

  if @TENURE = 0
  begin
    if @DATEFROM > DATEADD(month,-6,@ENDDATE)
      return 1
  end

  if @TENURE = 1
  begin
    if (@DATEFROM <= DATEADD(month,-6,@ENDDATE)) and (@DATEFROM > DATEADD(month,-12,@ENDDATE))
      return 1
  end

  if @TENURE = 2
  begin
    if (@DATEFROM <= DATEADD(year,-1,@ENDDATE)) and (@DATEFROM > DATEADD(year,-2,@ENDDATE))
      return 1
  end

  if @TENURE = 3
  begin
    if (@DATEFROM <= DATEADD(year,-2,@ENDDATE)) and (@DATEFROM > DATEADD(year,-3,@ENDDATE))
      return 1
  end

  if @TENURE = 4
  begin
    if (@DATEFROM <= DATEADD(year,-3,@ENDDATE)) and (@DATEFROM > DATEADD(year,-5,@ENDDATE))
      return 1
  end

  if @TENURE = 5
  begin
    if (@DATEFROM <= DATEADD(year,-5,@ENDDATE))
      return 1
  end

    return 0
end