USP_DATAFORMTEMPLATE_EDIT_TEAMEXTENSION
The save procedure used by the edit dataform template "FAFEventTeamExtension Edit Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@TEAMFUNDRAISINGTEAMID | uniqueidentifier | IN | Team |
@EVENTID | uniqueidentifier | IN | Event |
@PARTICIPANTGOAL | int | IN | Total Participant Goal |
@TEAMMEMBERGOAL | int | IN | Teammember Retention Goal |
@VOLUNTEERGOAL | int | IN | Total Volunteer Recruitment Goal |
@COMMUNICATIONGOAL | int | IN | Communication Goal |
@OTHERGOAL | int | IN | Custom Goal |
@PCTTEAMMEMBERRETENSION | decimal(6, 2) | IN | Percentage of Team Members to retain |
@TEAMRECRUITMENTGOAL | int | IN | Total number of Teams in a Company |
@PCTTEAMSRETENSION | decimal(6, 2) | IN | Percentage of Teams to retain in a Company |
@TARGETFUNDRAISINGGOAL | money | IN | TargetFundraisingGoal |
@DONORRETENTIONGOAL | decimal(6, 2) | IN | DonorRetentionGoal |
@GROUPCURRENTGOAL | money | IN | GroupCurrentGoal |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_TEAMEXTENSION
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@TEAMFUNDRAISINGTEAMID uniqueidentifier,
@EVENTID uniqueidentifier,
@PARTICIPANTGOAL int,
@TEAMMEMBERGOAL int,
@VOLUNTEERGOAL int,
@COMMUNICATIONGOAL int,
@OTHERGOAL int,
@PCTTEAMMEMBERRETENSION decimal(6,2),
@TEAMRECRUITMENTGOAL int,
@PCTTEAMSRETENSION decimal(6,2),
--@STATUSCODE tinyint,
--@FAFFUNDRAISINGGAUGEID uniqueidentifier,
--@TYPECODE tinyint,
--@HOUSEHOLDID uniqueidentifier,
@TARGETFUNDRAISINGGOAL money,
@DONORRETENTIONGOAL decimal(6,2),
--@TEAMCONSTITUENTID uniqueidentifier
@GROUPCURRENTGOAL money
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
begin try
--Pull default and restriction
--Event default goals---
DECLARE @EVENTMINFUNDRAISING money = 0
DECLARE @EVENTTARGETFUNDRAISING money = 0
DECLARE @EVENTCURRENTGOAL money = 0 --Current Goal is for all roles such as current goal of individual participant, team goal, household goal, company goal
DECLARE @EVENTNUMOFCOMM Integer = 0
DECLARE @EVENTNUMOFVOL Integer = 0
DECLARE @EVENTNUMOFPARTS Integer = 0
DECLARE @EVENTPEROFDONORS decimal(6,2) = 0.0
DECLARE @EVENTPEROFTEAMMEMBERS decimal(6,2) = 0.0
DECLARE @EVENTOTHERGOAL Integer = 0
DECLARE @EVENTNUMOFTEAMS Integer = 0
DECLARE @EVENTPEROFTEAMS decimal(6,2) = 0.0
DECLARE @EVENTNUMOFTEAMEMBERS Integer = 0
DECLARE @ISNOTLOWERFUNDRAISING bit = 0
DECLARE @ISNOTLOWERRECRUITEMENT bit = 0
DECLARE @ISNOTLOWERVOLUNTEERRECRUITEMENT bit = 0
DECLARE @ISNOTLOWERDONORRETENTION bit = 0
DECLARE @ISNOTLOWERCOMMUNICATION bit =0
DECLARE @ISNOTLOWERTEAMMEMBERS bit = 0
DECLARE @ISNOTLOWERTEAMMEMBERRETENTION bit = 0
DECLARE @ISNOTLOWERTEAMS bit = 0
DECLARE @ISNOTLOWERTEAMRETENTION bit = 0
DECLARE @ISNOTLOWERTARGETFUNDRAISING bit = 0
DECLARE @CONSTITUENTID uniqueidentifier = NULL
DECLARE @REGTYPEGOALCODE TinyInt = 1
SELECT @CONSTITUENTID=TFTC.CONSTITUENTID, @EVENTID=TE.EVENTID, @REGTYPEGOALCODE=TE.TYPECODE FROM TEAMFUNDRAISINGTEAM TFT INNER JOIN TEAMFUNDRAISINGTEAMCAPTAIN TFTC ON TFT.ID=TFTC.TEAMFUNDRAISINGTEAMID INNER JOIN TEAMEXTENSION TE ON TE.TEAMFUNDRAISINGTEAMID=TFT.ID WHERE TFT.ID=@ID
--Pull default and restriction
SELECT @EVENTMINFUNDRAISING=FG.MINFUNDRAISING,@EVENTTARGETFUNDRAISING=FG.TARGETFUNDRAISING,
@EVENTNUMOFPARTS=FG.RECRUITEMENT,@EVENTNUMOFTEAMEMBERS=FG.TEAMMEMBERS, @EVENTNUMOFVOL=FG.VOLUNTEERRECRUITEMENT,
@EVENTPEROFTEAMMEMBERS=FG.TEAMMEMBERRETENTION, @EVENTNUMOFCOMM=FG.COMMUNICATIONS,@EVENTOTHERGOAL=0,@EVENTNUMOFTEAMS=FG.TEAMS,
@EVENTPEROFTEAMS=TEAMRETENTION, @EVENTPEROFDONORS=FG.DONORRETENTION,
@ISNOTLOWERFUNDRAISING = FG.ISNOTLOWERFUNDRAISING,
@ISNOTLOWERRECRUITEMENT = FG.ISNOTLOWERRECRUITEMENT,
@ISNOTLOWERVOLUNTEERRECRUITEMENT = FG.ISNOTLOWERVOLUNTEERRECRUITEMENT,
@ISNOTLOWERDONORRETENTION = FG.ISNOTLOWERDONORRETENTION,
@ISNOTLOWERCOMMUNICATION = FG.ISNOTLOWERCOMMUNICATION,
@ISNOTLOWERTEAMMEMBERS = FG.ISNOTLOWERTEAMMEMBERS,
@ISNOTLOWERTEAMMEMBERRETENTION = FG.ISNOTLOWERTEAMMEMBERRETENTION,
@ISNOTLOWERTEAMS = FG.ISNOTLOWERTEAMS,
@ISNOTLOWERTEAMRETENTION = FG.ISNOTLOWERTEAMRETENTION,
@ISNOTLOWERTARGETFUNDRAISING = FG.ISNOTLOWERTARGETFUNDRAISING
FROM FAFREGISTRATIONTYPEGOAL FG, REGISTRANTREGISTRATION RR
WHERE RR.REGISTRANTID = (SELECT REG.ID FROM REGISTRANT REG WHERE REG.CONSTITUENTID=@CONSTITUENTID AND REG.EVENTID=@EVENTID)
AND RR.EVENTPRICEID = FG.EVENTPRICEID
AND FG.REGTYPEGOALCODE = @REGTYPEGOALCODE
--Now check with event goal rules to output correct goals value
If (@ISNOTLOWERFUNDRAISING = 1 AND @GROUPCURRENTGOAL < @EVENTMINFUNDRAISING)
SET @GROUPCURRENTGOAL=@EVENTMINFUNDRAISING
If (@ISNOTLOWERRECRUITEMENT = 1 AND @PARTICIPANTGOAL < @EVENTNUMOFPARTS)
SET @PARTICIPANTGOAL=@EVENTNUMOFPARTS
If (@ISNOTLOWERVOLUNTEERRECRUITEMENT = 1 AND @VOLUNTEERGOAL < @EVENTNUMOFVOL)
SET @VOLUNTEERGOAL=@EVENTNUMOFVOL
If (@ISNOTLOWERDONORRETENTION = 1 AND @DONORRETENTIONGOAL < @EVENTPEROFDONORS)
SET @DONORRETENTIONGOAL=@EVENTPEROFDONORS
If (@ISNOTLOWERCOMMUNICATION = 1 AND @COMMUNICATIONGOAL < @EVENTNUMOFCOMM)
SET @COMMUNICATIONGOAL = @EVENTNUMOFCOMM
If (@ISNOTLOWERTEAMMEMBERS = 1 AND @TEAMMEMBERGOAL < @EVENTNUMOFTEAMEMBERS)
SET @TEAMMEMBERGOAL = @EVENTNUMOFTEAMEMBERS
If (@ISNOTLOWERTEAMMEMBERRETENTION = 1 and @PCTTEAMMEMBERRETENSION < @EVENTPEROFTEAMMEMBERS)
set @PCTTEAMMEMBERRETENSION = @EVENTPEROFTEAMMEMBERS
If (@ISNOTLOWERTEAMS = 1 and @TEAMRECRUITMENTGOAL < @EVENTNUMOFTEAMS)
SET @TEAMRECRUITMENTGOAL = @EVENTNUMOFTEAMS
If (@ISNOTLOWERTEAMRETENTION = 1 and @PCTTEAMSRETENSION < @EVENTPEROFTEAMS)
SET @PCTTEAMSRETENSION = @EVENTPEROFTEAMS
If (@ISNOTLOWERTARGETFUNDRAISING = 1 and @TARGETFUNDRAISINGGOAL < @EVENTTARGETFUNDRAISING)
SET @TARGETFUNDRAISINGGOAL = @EVENTTARGETFUNDRAISING
-- handle updating the data
/*if @DONORRETENTIONGOAL > 0.0
set @DONORRETENTIONGOAL = @DONORRETENTIONGOAL / 100
if @PCTTEAMMEMBERRETENSION > 0.0
set @PCTTEAMMEMBERRETENSION = @PCTTEAMMEMBERRETENSION / 100
if @PCTTEAMSRETENSION > 0.0
set @PCTTEAMSRETENSION = @PCTTEAMSRETENSION / 100*/
update dbo.TEAMEXTENSION set
TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID,
EVENTID = @EVENTID,
PARTICIPANTGOAL = @PARTICIPANTGOAL,
TEAMMEMBERGOAL = @TEAMMEMBERGOAL,
VOLUNTEERGOAL = @VOLUNTEERGOAL,
COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
OTHERGOAL = @OTHERGOAL,
PCTTEAMMEMBERRETENSION = @PCTTEAMMEMBERRETENSION / 100,
TEAMRECRUITMENTGOAL = @TEAMRECRUITMENTGOAL,
PCTTEAMSRETENSION = @PCTTEAMSRETENSION / 100,
--STATUSCODE = @STATUSCODE,
--FAFFUNDRAISINGGAUGEID = @FAFFUNDRAISINGGAUGEID,
--TYPECODE = @TYPECODE,
--HOUSEHOLDID = @HOUSEHOLDID,
TARGETFUNDRAISINGGOAL = @TARGETFUNDRAISINGGOAL,
DONORRETENTIONGOAL = @DONORRETENTIONGOAL / 100,
--TEAMCONSTITUENTID = @TEAMCONSTITUENTID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = getdate()
where TEAMFUNDRAISINGTEAMID = @ID
--IF @STATUSCODE = 0
-- UPDATE CONSTITUENT
-- set ISINACTIVE = 0
-- WHERE ID = @TEAMCONSTITUENTID
UPDATE dbo.TEAMFUNDRAISINGTEAM
SET GOAL=@GROUPCURRENTGOAL
WHERE ID=@ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;