UFN_FAF_FRIENDLYURLS
Get friendly url by constituent id and pare type id
Return
Return Type |
---|
nvarchar(100) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@PARETYPEID | int | IN |
Definition
Copy
CREATE FUNCTION UFN_FAF_FRIENDLYURLS
(
@CONSTITUENTID uniqueidentifier,
@PARETYPEID int=0
)
returns nvarchar(100)
with execute as caller
as begin
declare @BASEURL nvarchar(100)
declare @CLIENTUSERID int
DECLARE @PARTICIPANTID uniqueidentifier
declare @FRIENDLYURL nvarchar(100)
if @PARETYPEID=0
BEGIN
SELECT @BASEURL=SETTING.VALUE
,@CLIENTUSERID=dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(REG.CONSTITUENTID)
,@PARTICIPANTID=REG.ID
FROM dbo.REGISTRANT REG
INNER JOIN dbo.EVENTEXTENSION EVE ON EVE.EVENTID=REG.EVENTID
INNER JOIN dbo.CMSSITESETTING as SETTING ON Setting.CLIENTSITESID=EVE.CLIENTSITESID and Setting.ENUMID=11
WHERE REG.CONSTITUENTID=@CONSTITUENTID
END
else
begin
SELECT @BASEURL=SETTING.VALUE
,@CLIENTUSERID=dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(@CONSTITUENTID)
,@PARTICIPANTID=TFT.ID
FROM dbo.TEAMFUNDRAISINGTEAM TFT
INNER JOIN dbo.TEAMEXTENSION TE ON TE.TEAMFUNDRAISINGTEAMID=TFT.ID
INNER JOIN dbo.EVENTEXTENSION EVE ON EVE.EVENTID=TE.EVENTID
INNER JOIN dbo.CMSSITESETTING as SETTING ON Setting.CLIENTSITESID=EVE.CLIENTSITESID and Setting.ENUMID=11
INNER JOIN dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM ON TFTM.TEAMFUNDRAISINGTEAMID=TFT.ID
INNER JOIN dbo.TEAMFUNDRAISER TF ON TF.ID=TFTM.TEAMFUNDRAISERID
WHERE TF.CONSTITUENTID=@CONSTITUENTID
end
select @FRIENDLYURL=(case when PARTURL.VANITYURL is null THEN NULL ELSE
(@BASEURL+PARTURL.VANITYURL) END)
from dbo.VANITYURL as PARTURL
INNER join dbo.FAFFRIENDLYURLPARAMS PARTFFUP
ON PARTFFUP.SEQUENCEID=PARTURL.RealmID
AND PARTFFUP.PAGETYPE=@PARETYPEID
AND PARTFFUP.PARTICIPANTID=@PARTICIPANTID
WHERE PARTURL.CLIENTUSERID=@CLIENTUSERID AND PARTURL.RealmTypeID=7
return @FRIENDLYURL
END