V_QUERY_SPONSORSHIPOPPORTUNITYCMS

This provides the ability to query all sponsorship fields. The queries will appear in sponsorship search part of the CMS.

Fields

Field Field Type Null Description
ID uniqueidentifier System record ID
NAME nvarchar(154) yes Name
SPONSORSHIPOPPORTUNITYGROUPID uniqueidentifier SPONSORSHIPOPPORTUNITYGROUPID
SPONSORSHIPLOCATIONID uniqueidentifier yes SPONSORSHIPLOCATIONID
AVAILABILITY varchar(9) Availability
SPONSORSHIPREASONID uniqueidentifier yes SPONSORSHIPREASONID
ADDEDBY_APPLICATION nvarchar(200) yes Added by application
ADDEDBY_USERNAME nvarchar(128) yes Added by user name
CHANGEDBY_APPLICATION nvarchar(200) yes Changed by application
CHANGEDBY_USERNAME nvarchar(128) yes Changed by user name
DATEADDED datetime Date added
DATECHANGED datetime Date changed
TSLONG bigint yes Timestamp value
TYPE varchar(7) Type
LOOKUPID nvarchar(100) yes Lookup ID
SPONSORCOUNT int Sponsor count

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  4/13/2016 4:58:50 AM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.158.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_SPONSORSHIPOPPORTUNITYCMS AS



select
  SPONSORSHIPOPPORTUNITY.ID,
  case
    when SPONSORSHIPOPPORTUNITYGROUP.SPONSORSHIPOPPORTUNITYTYPECODE = 1 then
    (
      select NF.NAME
      from SPONSORSHIPOPPORTUNITYCHILD
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(SPONSORSHIPOPPORTUNITYCHILD.CONSTITUENTID) NF
      where SPONSORSHIPOPPORTUNITYCHILD.ID = SPONSORSHIPOPPORTUNITY.ID
    )
    else (select NAME from SPONSORSHIPOPPORTUNITYPROJECT where ID = SPONSORSHIPOPPORTUNITY.ID)
  end NAME,
  SPONSORSHIPOPPORTUNITY.SPONSORSHIPOPPORTUNITYGROUPID, 
  dbo.UFN_SPONSORSHIPOPPORTUNITY_GETLOCATIONFORCMS(SPONSORSHIPOPPORTUNITY.SPONSORSHIPLOCATIONID) SPONSORSHIPLOCATIONID, 
  'Available' AVAILABILITY,
  SPONSORSHIPOPPORTUNITY.SPONSORSHIPREASONID,
  [ADDEDBY].APPLICATIONNAME as [ADDEDBY_APPLICATION],
  [ADDEDBY].USERNAME as [ADDEDBY_USERNAME],
  [CHANGEDBY].APPLICATIONNAME as [CHANGEDBY_APPLICATION],
  [CHANGEDBY].USERNAME as [CHANGEDBY_USERNAME],
  SPONSORSHIPOPPORTUNITY.DATEADDED,
  SPONSORSHIPOPPORTUNITY.DATECHANGED,
  SPONSORSHIPOPPORTUNITY.TSLONG,
  case when SPONSORSHIPOPPORTUNITYCHILD.ID is not null then 'Child' else 'Project' end [TYPE],
  SPONSORSHIPOPPORTUNITY.LOOKUPID,
  case when SPONSORSHIPOPPORTUNITYLOCK.SPONSORCOUNT is not null then SPONSORSHIPOPPORTUNITYLOCK.SPONSORCOUNT else 0 end SPONSORCOUNT
from dbo.SPONSORSHIPOPPORTUNITY
  inner join dbo.SPONSORSHIPOPPORTUNITYGROUP on SPONSORSHIPOPPORTUNITYGROUP.ID = SPONSORSHIPOPPORTUNITY.SPONSORSHIPOPPORTUNITYGROUPID
  inner join dbo.SPONSORSHIPOPPORTUNITYLOCK on SPONSORSHIPOPPORTUNITY.ID = SPONSORSHIPOPPORTUNITYLOCK.ID
  left join dbo.SPONSORSHIPOPPORTUNITYCHILD on SPONSORSHIPOPPORTUNITY.ID = SPONSORSHIPOPPORTUNITYCHILD.ID
  left outer join dbo.SPONSORSHIPLOCATION OPPORTUNITYLOCATION on OPPORTUNITYLOCATION.ID = SPONSORSHIPOPPORTUNITY.SPONSORSHIPLOCATIONID
  left join dbo.CHANGEAGENT as [ADDEDBY] on [ADDEDBY].ID = SPONSORSHIPOPPORTUNITY.ADDEDBYID
  left join dbo.CHANGEAGENT as [CHANGEDBY] on [CHANGEDBY].ID = SPONSORSHIPOPPORTUNITY.CHANGEDBYID
-- Conditions to restrict to opportunities actually OK to sponsor

where
  SPONSORSHIPOPPORTUNITY.ELIGIBILITYCODE = 1 and
  SPONSORSHIPOPPORTUNITY.AVAILABILITYCODE = 0 and
  SPONSORSHIPOPPORTUNITYLOCK.LOCKED = 0 and
  -- The opportunity should be a part of a group that is part of a program, otherwise child/project cannot be sponsored.

  exists
  (
    select top 1 1
    from dbo.SPONSORSHIPPROGRAM SP
      inner join dbo.SPONSORSHIPOPPORTUNITYGROUP SG on SG.ID = SP.SPONSORSHIPOPPORTUNITYGROUPID
    where
      SPONSORSHIPOPPORTUNITY.SPONSORSHIPOPPORTUNITYGROUPID = SG.ID and
      (
        SP.FILTERLOCATIONCODE = 0 or
        (
          SP.FILTERLOCATIONCODE = 1 and
          exists
          (
            select top 1 1
            from (select T.c.value('(SPONSORSHIPLOCATIONID)[1]','uniqueidentifier') AS 'SPONSORSHIPLOCATIONID' from SP.FILTERLOCATIONS.nodes('/FILTERLOCATIONS/ITEM') T(c)) X
              inner join dbo.SPONSORSHIPLOCATION FILTERLOCATION on FILTERLOCATION.ID = X.SPONSORSHIPLOCATIONID
            where OPPORTUNITYLOCATION.HIERARCHYPATH.IsDescendantOf(FILTERLOCATION.HIERARCHYPATH) = 1
          )
        ) or
        (
          SP.FILTERLOCATIONCODE = 2 and
          not exists
          (
            select top 1 1
            from (select T.c.value('(SPONSORSHIPLOCATIONID)[1]','uniqueidentifier') AS 'SPONSORSHIPLOCATIONID' from SP.FILTERLOCATIONS.nodes('/FILTERLOCATIONS/ITEM') T(c)) X
              inner join dbo.SPONSORSHIPLOCATION FILTERLOCATION on FILTERLOCATION.ID = X.SPONSORSHIPLOCATIONID
            where OPPORTUNITYLOCATION.HIERARCHYPATH.IsDescendantOf(FILTERLOCATION.HIERARCHYPATH) = 1
          )
        )
  )
  );