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;