USP_FAFEVENTREGISTRANT_ACTIVATE_UPDATE
Update STATUSCODE for Team, companies, or household
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@REGISTRANTID | uniqueidentifier | IN | |
@TEAMFUNDRAISINGTEAMID | uniqueidentifier | IN | |
@ACTIVATE | bit | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFEVENTREGISTRANT_ACTIVATE_UPDATE
(
@EVENTID uniqueidentifier = null,
@REGISTRANTID uniqueidentifier = null,
@TEAMFUNDRAISINGTEAMID uniqueidentifier = null,
@ACTIVATE bit = NULL,
@CHANGEAGENTID uniqueidentifier = null
)
as
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
--check for teams, companies, or households
IF EXISTS (SELECT * FROM [EVENT] E JOIN TEAMFUNDRAISINGTEAM TFT ON E.APPEALID = TFT.APPEALID
JOIN TEAMEXTENSION TE ON TFT.ID = TE.TEAMFUNDRAISINGTEAMID WHERE E.ID= @EVENTID AND TFT.ID= @TEAMFUNDRAISINGTEAMID)
BEGIN
DECLARE @CUR_STATUSCODE tinyint
SELECT @CUR_STATUSCODE= STATUSCODE FROM [EVENT] E JOIN TEAMFUNDRAISINGTEAM TFT ON E.APPEALID = TFT.APPEALID
JOIN TEAMEXTENSION TE ON TFT.ID = TE.TEAMFUNDRAISINGTEAMID WHERE E.ID= @EVENTID AND TFT.ID= @TEAMFUNDRAISINGTEAMID
--0...If "Active" then cannot move to "pending" or "declined
-------------------------------
--1...If "Pending" then can move to "declined" or "active"
IF @CUR_STATUSCODE = 1
BEGIN
IF @ACTIVATE= 0
UPDATE TEAMEXTENSION SET STATUSCODE= 0, CHANGEDBYID= @CHANGEAGENTID, DATECHANGED= @CURRENTDATE WHERE TEAMFUNDRAISINGTEAMID= @TEAMFUNDRAISINGTEAMID AND EVENTID= @EVENTID
ELSE
UPDATE TEAMEXTENSION SET STATUSCODE= 2, CHANGEDBYID= @CHANGEAGENTID, DATECHANGED= @CURRENTDATE WHERE TEAMFUNDRAISINGTEAMID= @TEAMFUNDRAISINGTEAMID AND EVENTID= @EVENTID
END
-------------------------------
--2...If "Declined" then can move only to "active"
IF @CUR_STATUSCODE = 2
UPDATE TEAMEXTENSION SET STATUSCODE= 0, CHANGEDBYID= @CHANGEAGENTID, DATECHANGED= @CURRENTDATE WHERE TEAMFUNDRAISINGTEAMID= @TEAMFUNDRAISINGTEAMID AND EVENTID= @EVENTID
END
------------------------------------------------------------------------------------------
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;