USP_FAFNOTIFICATION_SUBSCRIPTION_ADDUPDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN | |
@ROLECODE | tinyint | IN |
Definition
Copy
create procedure dbo.USP_FAFNOTIFICATION_SUBSCRIPTION_ADDUPDATE
(
@CONSTITUENTID uniqueidentifier,
@EVENTID uniqueidentifier,
@ROLECODE tinyint -- 0: Company leader; 1: team leader; 3: household leader
)
as
begin
declare @fafroles nvarchar(50) = 'individual'
declare @userID int
if @ROLECODE < 2
set @fafroles = @fafroles + ',team leader'
else if @ROLECODE = 3
set @fafroles = @fafroles + ',household leader'
/* take this approach since a user can own multiple logins after a constituent merge action */
delete from dbo.NotificationSubscription where
UserID in (select CLIENTUSERID from dbo.UFN_CLIENTUSERS_GETIDLISTBYCONSTITUENTID(@CONSTITUENTID))
and NotificationID in (select NCNOTIFICATIONID from dbo.EVENTEMAILTEMPLATE where EVENTID = @EVENTID)
declare UserIDsCursor cursor local fast_forward for
select CLIENTUSERID from dbo.UFN_CLIENTUSERS_GETIDLISTBYCONSTITUENTID(@CONSTITUENTID)
open UserIDsCursor fetch next from UserIDsCursor into @userID
while @@fetch_status = 0
begin
exec dbo.USP_FAFNOTIFICATION_SUBSCRIPTION @UserID=@userID, @EVENTID=@EVENTID, @FAFRoles=@fafroles
fetch next from UserIDsCursor into @userID
end
close UserIDsCursor
deallocate UserIDsCursor
end