USP_REGISTRANTREGISTRATION_CHANGEFRIENDLYURL
Update registrant registration personal and group friendly URL if applicable.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLIENTSITESID | int | IN | |
@REGISTRANTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ROLECODE | tinyint | IN | |
@ROLECODEORIGINAL | tinyint | IN | |
@PERSONALVANITYURL | nvarchar(510) | IN | |
@PERSONALVANITYID | int | IN | |
@GROUPID | uniqueidentifier | IN | |
@GROUPVANITYURL | nvarchar(510) | IN | |
@GROUPVANITYID | int | IN | |
@USERID | int | IN |
Definition
Copy
CREATE procedure dbo.USP_REGISTRANTREGISTRATION_CHANGEFRIENDLYURL
(
@CLIENTSITESID int,
@REGISTRANTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ROLECODE tinyint,
@ROLECODEORIGINAL tinyint,
@PERSONALVANITYURL nvarchar(510),
@PERSONALVANITYID int,
@GROUPID uniqueidentifier = null,
@GROUPVANITYURL nvarchar(510) = null,
@GROUPVANITYID int = null,
@USERID int
)
as
begin try
declare @ParticipantID uniqueidentifier,
@Group_ParticipantID uniqueidentifier,
@PageType int = 0,
@FriendlyURLID uniqueidentifier,
@SEQUENCEID int,
@PPageID int,
@pkID int = 0
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if patindex('%[^0-9a-zA-Z_-]%',@PERSONALVANITYURL) <> 0 or patindex('%[^0-9a-zA-Z_-]%',@GROUPVANITYURL) <> 0
raiserror('INUSEVANITYURLFORMAT',13,1)
/*if @ROLECODE in (3,4) and @ROLECODEORIGINAL not in (3,4)
begin
if @PERSONALVANITYID > 0
begin
delete from dbo.FAFFRIENDLYURLPARAMS where SEQUENCEID in (select RealmID from dbo.VanityURL where ID = @PERSONALVANITYID) and PARTICIPANTID = @REGISTRANTID
delete from dbo.VanityURL where ID = @PERSONALVANITYID
end
end*/
--if @ROLECODE not in (3,4) /* if not in a household member or head of household */
--begin
if @PERSONALVANITYURL = ''
begin
if @PERSONALVANITYID > 0
begin
delete from dbo.FAFFRIENDLYURLPARAMS where SEQUENCEID in (select RealmID from dbo.VanityURL where ID = @PERSONALVANITYID) and PARTICIPANTID = @REGISTRANTID
delete from dbo.VanityURL where ID = @PERSONALVANITYID
end
end
else
begin
select @PARTICIPANTID=PARTICIPANTID from dbo.VanityURL
join dbo.FAFFRIENDLYURLPARAMS on VanityURL.RealmID = FAFFRIENDLYURLPARAMS.SEQUENCEID and VanityURL.RealmTypeID = 7
where VanityURL.ClientSitesID = @CLIENTSITESID and VanityURL.VanityURL = @PERSONALVANITYURL
if @PARTICIPANTID is not null and @PARTICIPANTID <> @REGISTRANTID
raiserror('INUSEVANITYURLFORPERSONAL',13,1)
else
begin
if @PERSONALVANITYID is null or @PERSONALVANITYID = 0
begin
set @FriendlyURLID = NEWID();
exec dbo.USP_DATAFORMTEMPLATE_ADD_FAF_FRIENDLY_URL_PARAMETERS @ID=@FriendlyURLID output, @CHANGEAGENTID=@CHANGEAGENTID, @PAGETYPE=0,@PARTICIPANTID=@REGISTRANTID
select @SEQUENCEID=SEQUENCEID from dbo.FAFFRIENDLYURLPARAMS where ID = @FriendlyURLID
select @PPageID=cast(Value as int) from dbo.CMSSITESETTING where ClientSitesID = @CLIENTSITESID and ENUMID = 30
exec dbo.spAddUpdate_VanityURL @PKID=@PERSONALVANITYID output, @RealmTypeID=7,@RealmID=@SEQUENCEID,@ClientUserID=@USERID, @PageID=@PPageID,@TabID=1,@VanityURL=@PERSONALVANITYURL,@TargetURL=null,@ClientSitesID=@CLIENTSITESID
end
else
update dbo.[VanityURL] set VanityURL = @PERSONALVANITYURL, DateChanged = GetDate() where ID = @PERSONALVANITYID
end
end /* end handling personal friendly URL */
--end
if (@GROUPID is not null and @ROLECODE in(0,1,3))
begin
if @GROUPVANITYURL = ''
begin
if @GROUPVANITYID > 0
begin
declare @RealmID int
select @RealmID = RealmID from dbo.VanityURL where ID = @GROUPVANITYID
delete from dbo.FAFFRIENDLYURLPARAMS where SEQUENCEID = @RealmID and PARTICIPANTID = @GROUPID
delete from dbo.VanityURL where ID = @GROUPVANITYID
end
end
else
begin
select @Group_ParticipantID=PARTICIPANTID from dbo.VanityURL
join dbo.FAFFRIENDLYURLPARAMS on VanityURL.RealmID = FAFFRIENDLYURLPARAMS.SEQUENCEID and VanityURL.RealmTypeID = 7
WHERE VanityURL.ClientSitesID = @CLIENTSITESID and VanityURL.VanityURL = @GROUPVANITYURL
--select @Group_ParticipantID
if @Group_ParticipantID is not null and @Group_ParticipantID <> @GROUPID
raiserror('INUSEVANITYURLFORGROUP', 13,1)
else
begin
if @GROUPVANITYID is null or @GROUPVANITYID = 0
begin
if @ROLECODE = 0
set @PageType = 2
else
set @PageType = @ROLECODE
set @FriendlyURLID = NEWID();
exec dbo.USP_DATAFORMTEMPLATE_ADD_FAF_FRIENDLY_URL_PARAMETERS @ID=@FriendlyURLID output, @CHANGEAGENTID=@CHANGEAGENTID, @PAGETYPE=@PageType,@PARTICIPANTID=@GROUPID
select @SEQUENCEID=SEQUENCEID from dbo.FAFFRIENDLYURLPARAMS where ID = @FriendlyURLID
select @PPageID=cast(Value as int) from dbo.CMSSITESETTING where ClientSitesID = @CLIENTSITESID and ENUMID = 30
exec dbo.spAddUpdate_VanityURL @PKID=@GROUPVANITYID output, @RealmTypeID=7,@RealmID=@SEQUENCEID,@ClientUserID=@USERID, @PageID=@PPageID,@TabID=1,@VanityURL=@GROUPVANITYURL,@TargetURL=null,@ClientSitesID=@CLIENTSITESID
end
else
update dbo.[VanityURL] set VanityURL = @GROUPVANITYURL, DateChanged = GetDate() where ID = @GROUPVANITYID
end
end /* end for group inner */
end
end try
begin catch
exec USP_RAISE_ERROR
return 1;
end catch
return 0;