USP_DATAFORMTEMPLATE_VIEW_SPONSORSHIPDETAIL

The load procedure used by the view dataform template "Sponsorship Detail View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@SPONSORSHIPID uniqueidentifier INOUT SPONSORSHIPID
@SPONSORSHIPOPPORTUNITYID uniqueidentifier INOUT Sponsorship
@CONSTITUENTID uniqueidentifier INOUT CONSTITUENTID
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@NAME nvarchar(100) INOUT Name
@ADDRESS nvarchar(300) INOUT ADDRESS
@PHONENUMBER nvarchar(100) INOUT PHONENUMBER
@EMAILADDRESS nvarchar(100) INOUT EMAILADDRESS
@PICTURE varbinary INOUT Image
@PICTURETHUMBNAIL varbinary INOUT Image thumbnail
@SPONSORSINCE datetime INOUT Sponsor since
@LASTSPONSORSHIP nvarchar(100) INOUT Last sponsorship
@SPONSORSHIPCOUNT int INOUT Active sponsorships
@SPONSORSHIPTOTALAMOUNT money INOUT Sponsorship amount to date
@OPPORTUNITYNAME nvarchar(100) INOUT OPPORTUNITYNAME

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_SPONSORSHIPDETAIL
(
  @ID uniqueidentifier,
  @SPONSORSHIPID uniqueidentifier = null output,
    @SPONSORSHIPOPPORTUNITYID uniqueidentifier = null output,
  @CONSTITUENTID uniqueidentifier = null output,
    @DATALOADED bit = 0 output,

  --SPONSOR

  @NAME nvarchar(100) = null output,
    @ADDRESS nvarchar(300) = null output,
    @PHONENUMBER nvarchar(100) = null output,
    @EMAILADDRESS nvarchar(100) = null output,
  @PICTURE varbinary(max) = null output,
    @PICTURETHUMBNAIL varbinary(max) = null output,
  @SPONSORSINCE datetime = null output,
  @LASTSPONSORSHIP nvarchar(100) = null output,
  @SPONSORSHIPCOUNT int = null output,
  @SPONSORSHIPTOTALAMOUNT money=null output,
  @OPPORTUNITYNAME nvarchar(100) = null output
)
as
    set nocount on;

    -- be sure to set this, in case the select returns no rows

    set @DATALOADED = 0;

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

  declare @countChild int;

  declare @CURRENTDATEEARLIESTTIME date;
  set @CURRENTDATEEARLIESTTIME = @CURRENTDATE;

    -- populate the output parameters, which correspond to fields on the form.  Note that

    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

    -- will display a "no data loaded" message.

  -------------------------------

  -- Sponsor information

  -------------------------------

 -- Get consituentid

  select 
     @CONSTITUENTID = CONSTITUENTID
  from 
     dbo.SPONSORSHIP
  where ID = @ID
    select @DATALOADED = 1,
             @NAME = name,
         @PICTURE = PICTURE,
         @PICTURETHUMBNAIL = PICTURETHUMBNAIL
      from dbo.CONSTITUENT
     where ID = @CONSTITUENTID 

  --EMAIL

    select @EMAILADDRESS = EMAILADDRESS
      from dbo.EMAILADDRESS
     where EMAILADDRESS.CONSTITUENTID = @CONSTITUENTID
       and EMAILADDRESS.ISPRIMARY = 1;

    --PHONE

    select @PHONENUMBER = PHONE.NUMBER
      from dbo.PHONE
     where PHONE.CONSTITUENTID = @CONSTITUENTID
     and PHONE.ISPRIMARY = 1;

    --ADDRESS

    select @ADDRESS = dbo.UFN_BUILDFULLADDRESS(ADDRESS.ID, ADDRESS.ADDRESSBLOCK, ADDRESS.CITY, ADDRESS.STATEID, ADDRESS.POSTCODE, ADDRESS.COUNTRYID)
      from dbo.ADDRESS
     where ADDRESS.CONSTITUENTID = @CONSTITUENTID
         and ADDRESS.ISPRIMARY = 1;

  --SPONSOR SINCE

  select @SPONSORSINCE = min(DATEFROM)
    from dbo.SPONSORDATERANGE
   where CONSTITUENTID = @CONSTITUENTID

  --LAST SPONSORSHIP

  select @LASTSPONSORSHIP = case when nullif(DATETO, CURRENT_TIMESTAMP) >= CURRENT_TIMESTAMP then 'Current' else DATETO end
    from dbo.SPONSORDATERANGE
   where CONSTITUENTID = @CONSTITUENTID
         and DATEFROM <= @CURRENTDATEEARLIESTTIME
         and (DATETO is null or DATETO >= @CURRENTDATEEARLIESTTIME)

  --SPONSORSHIP COUNT

  select @SPONSORSHIPCOUNT = count(*)
    from dbo.SPONSORSHIP
   where CONSTITUENTID = @CONSTITUENTID
     and STATUSCODE = 1

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

  --SPONSORSHIP ID


  set @SPONSORSHIPID = @ID

  --TOTAL AMOUNT OF ALL SPONSORSHIPS -- STILL NEEDS DESIGN

  --SPONSORSHIP

  select
     @OPPORTUNITYNAME = dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(@SPONSORSHIPOPPORTUNITYID)


    return 0;