USP_SIMPLEDATALIST_FAFREGISTRATIONOPTION

Return registration options by event id and registration role

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN EVENTID
@REGISTRANTROLE smallint IN REGISTRANTROLE

Definition

Copy


CREATE procedure dbo.USP_SIMPLEDATALIST_FAFREGISTRATIONOPTION(
    @EVENTID uniqueidentifier,
    /*
      0: Company Leader
      1: Team Leader Under Company
      2: Team Leader Independent
      3: Team Member
      4: Household Header Under Company
      5: Household Header Under Team
      6: Household Header Independent
      7: Individual Under Company
      8: Individual Independent
      9: Household Member
    */
    @REGISTRANTROLE smallint 
)
as
  DECLARE @regoptions table
    (
      ID uniqueidentifier null,
      NAME nvarchar(200) null
     )

  if @REGISTRANTROLE in (7, 8)
    insert into @regoptions(ID, NAME)
      select EP.ID, EP.NAME    
      from dbo.EVENTPRICE EP 
       inner join dbo.FAFREGISTRATIONTYPE ERT on EP.ID = ERT.EVENTPRICEID
       where EP.EVENTID = @EVENTID
       and ERT.ISREGTYPEAVAILABLEINDIVIDUAL = 1 and dbo.UFN_FAFREGISTRATIONTYPE_ISAVAILABLE(ERT.EVENTPRICEID, 1) = 1
  else if @REGISTRANTROLE in (1, 2)
    insert into @regoptions(ID, NAME)
      select EP.ID, EP.NAME    
      from dbo.EVENTPRICE EP 
       inner join dbo.FAFREGISTRATIONTYPE ERT on EP.ID = ERT.EVENTPRICEID
       where EP.EVENTID = @EVENTID
       and ERT.ISREGTYPEAVAILABLETEAMLEADER = 1 and dbo.UFN_FAFREGISTRATIONTYPE_ISAVAILABLE(ERT.EVENTPRICEID, 1) = 1
  else if @REGISTRANTROLE = 0
    insert into @regoptions(ID, NAME)
      select EP.ID as VALUE, EP.NAME as LABEL    
      from dbo.EVENTPRICE EP 
       inner join dbo.FAFREGISTRATIONTYPE ERT on EP.ID = ERT.EVENTPRICEID
       where EP.EVENTID = @EVENTID
       and ERT.ISREGTYPEAVAILABLECOMPANYLEADER = 1 and dbo.UFN_FAFREGISTRATIONTYPE_ISAVAILABLE(ERT.EVENTPRICEID, 1) = 1
  else if @REGISTRANTROLE in (4, 5, 6)
    insert into @regoptions(ID, NAME)
      select EP.ID as VALUE, EP.NAME as LABEL    
      from dbo.EVENTPRICE EP 
       inner join dbo.FAFREGISTRATIONTYPE ERT on EP.ID = ERT.EVENTPRICEID
       where EP.EVENTID = @EVENTID
       and ERT.ISREGTYPEAVAILABLEHEADHOUSEHOLD = 1 and dbo.UFN_FAFREGISTRATIONTYPE_ISAVAILABLE(ERT.EVENTPRICEID, 1) = 1
  else if @REGISTRANTROLE = 3
    insert into @regoptions(ID, NAME)
      select EP.ID as VALUE, EP.NAME as LABEL    
      from dbo.EVENTPRICE EP 
       inner join dbo.FAFREGISTRATIONTYPE ERT on EP.ID = ERT.EVENTPRICEID
       where EP.EVENTID = @EVENTID
       and ERT.ISREGTYPEAVAILABLETEAMMEMBER = 1 and dbo.UFN_FAFREGISTRATIONTYPE_ISAVAILABLE(ERT.EVENTPRICEID, 1) = 1
  else if @REGISTRANTROLE = 9
    insert into @regoptions(ID, NAME)
      select EP.ID as VALUE, EP.NAME as LABEL    
      from dbo.EVENTPRICE EP 
       inner join dbo.FAFREGISTRATIONTYPE ERT on EP.ID = ERT.EVENTPRICEID
       where EP.EVENTID = @EVENTID
       and ERT.ISREGTYPEAVAILABLEFAMILYMEMBER = 1 and dbo.UFN_FAFREGISTRATIONTYPE_ISAVAILABLE(ERT.EVENTPRICEID, 1) = 1

    SELECT 
      ID AS VALUE,
      NAME AS LABEL
    FROM @regoptions
    ORDER BY NAME