USP_BBDW_FACT_EVENTREGISTRANT_USERVANITYURL

Parameters

Parameter Parameter Type Mode Description
@OPENWINDOW datetime IN
@CLOSEWINDOW datetime IN

Definition

Copy


create procedure dbo.[USP_BBDW_FACT_EVENTREGISTRANT_USERVANITYURL](
  @OPENWINDOW datetime
  @CLOSEWINDOW datetime
) as
  set nocount on;

  with [PAGEIDS]
  as
  (  
    select 
        S1.Value [PAGEID],   
        EX.[EVENTID] 
    from 
      [EVENTEXTENSION] EX 
        left join [CMSSITESETTING] S1 on EX.[CLIENTSITESID] = S1.[CLIENTSITESID] and S1.[ENUMID] = 30      
        left join [VanityURL] v1 on v1.[RealmID] = cast(S1.[VALUE] as integer) and v1.[RealmTypeID] = 4
   ), VanityURLData as (
    select 
      r.[ID] [REGISTRANTSYSTEMID],
      r.[EVENTID] [EVENTSYSTEMID],
      case when VURL.[VanityURL] is null and V1.[VanityURL]  is null   
      then S3.[VALUE] + '?pid=' + pg.[PAGEID] + '&pt=' + cast(0 as nvarchar(2)) + '&aid=' +  cast(R.[ID] as nvarchar(36))   
      when VURL.[VanityURL] is null and V1.[VanityURL]  is not null  
      then S2.[VALUE] + V1.[VanityURL]  + '/?pt=' + cast(0 as nvarchar(2)) + '&aid=' +  cast(R.[ID] as nvarchar(36))   
      else S2.[VALUE] + VURL.[VanityURL] + '/' end as [PERSONALPAGEURL]  
      from [VanityURL] VURL (nolock)
      left join [FAFFRIENDLYURLPARAMS] FAFURL
         on  VURL.[RealmID] = FAFURL.[SEQUENCEID] and VURL.[RealmTypeID] = 7
      left join [REGISTRANT] r (nolock)
        on r.[ID] = FAFURL.[PARTICIPANTID] and [PAGETYPE] = 0  
      left join [EVENTEXTENSION] EX on EX.[EVENTID] = R.[EVENTID]  
      left join [PAGEIDS] pg on pg.[EVENTID] = r.[EVENTID]
      left join [CMSSITESETTING] S1 on EX.[CLIENTSITESID] = S1.[CLIENTSITESID] and S1.[ENUMID] = 30          
      left join [VANITYURL] V1 on V1.[RealmID] = CAST(S1.[VALUE] as Integer) and V1.[RealmTypeID] = 4
      left join [CMSSITESETTING] S2 on EX.[CLIENTSITESID] = S2.[CLIENTSITESID] and S2.[ENUMID] = 11  
      left join [CMSSITESETTING] S3 on EX.[CLIENTSITESID] = S3.[CLIENTSITESID] and S3.[ENUMID] = 10  
      where r.[ID] is not null
     and (vurl.[DATECHANGED] > @OPENWINDOW and vurl.[DATECHANGED] <= @CLOSEWINDOW  ) 
  ), DefaultURL as (
    select 
      r.[ID] [REGISTRANTSYSTEMID],
      r.[EVENTID] [EVENTSYSTEMID],
      S3.[VALUE] + '?pid=' + pg.[PAGEID] + '&pt=' + cast(0 as nvarchar(2)) + '&aid=' +  cast(R.[ID] as nvarchar(36)) as [PERSONALPAGEURL]
      from 
      [REGISTRANT]  r (nolock)
      left join [EVENTEXTENSION] ex on ex.[EVENTID] = r.[EVENTID]  
      left join [PAGEIDS] pg on pg.[EVENTID] = r.[EVENTID]
      left join [CMSSITESETTING] s3 on ex.[CLIENTSITESID] = s3.[CLIENTSITESID] and s3.[ENUMID] = 10  
      where r.[ID] is not null
      and (r.[DATECHANGED] > @OPENWINDOW and r.[DATECHANGED] <= @CLOSEWINDOW
      and r.[ID] not in ( select [REGISTRANTSYSTEMID] from VanityURLData )
  ) 
  select 
    [REGISTRANTSYSTEMID],
    [EVENTSYSTEMID],
    isnull( [PERSONALPAGEURL] , '') [PERSONALPAGEURL] 
  from VanityURLData 
  union
  select 
    [REGISTRANTSYSTEMID],
    [EVENTSYSTEMID], isnull
    [PERSONALPAGEURL],'') [PERSONALPAGEURL]  
  from DefaultURL;