USP_DATAFORMTEMPLATE_EDIT_REGISTRANTEXTENSION_2
The save procedure used by the edit dataform template "FAFEventRegistrantExtension 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. |
@REGISTRANTID | uniqueidentifier | IN | Registrant |
@FUNDRAISINGGOAL | money | IN | Fundraisinggoal |
@ADVOCACYACTIONGOAL | int | IN | Advocacyactiongoal |
@MEMBERECRUITMENTGOAL | int | IN | Memberecruitmentgoal |
@COMMUNICATIONGOAL | int | IN | Communicationgoal |
@VOLUNTEERRECRUITMENTGOAL | int | IN | Volunteerrecruitmentgoal |
@TARGETFUNDRAISINGGOAL | money | IN | TargetFundraisingGoal |
@DONORRETENTIONGOAL | decimal(5, 2) | IN | DonorRetentionGoal |
@OTHERUNITGOAL | int | IN | OtherUnitGoal |
@ISPRIVATE | bit | IN | IsPrivate |
@ALLOWADMINACCESSHQ | bit | IN | AllowAdminAccessHQ |
@ISDASHBOARDHELPERVISIBLE | bit | IN | IsDashboardHelperVisible |
@ALLOWOTHERPARTICIPANTSCONTACTME | bit | IN | AllowOtherParticipantContactMe |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REGISTRANTEXTENSION_2
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@REGISTRANTID uniqueidentifier,
@FUNDRAISINGGOAL money,
@ADVOCACYACTIONGOAL int,
@MEMBERECRUITMENTGOAL int,
@COMMUNICATIONGOAL int,
@VOLUNTEERRECRUITMENTGOAL int,
@TARGETFUNDRAISINGGOAL money,
@DONORRETENTIONGOAL decimal(5,2),
@OTHERUNITGOAL int,
@ISPRIVATE bit,
@ALLOWADMINACCESSHQ bit,
@ISDASHBOARDHELPERVISIBLE bit,
@ALLOWOTHERPARTICIPANTSCONTACTME bit
)
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 = 0.0
DECLARE @EVENTPEROFTEAMMEMBERS decimal = 0.0
DECLARE @EVENTOTHERGOAL Integer = 0
DECLARE @EVENTNUMOFTEAMS Integer = 0
DECLARE @EVENTPEROFTEAMS decimal = 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 @EVENTID uniqueidentifier = NULL
DECLARE @CONSTITUENTID uniqueidentifier = NULL
DECLARE @REGTYPEGOALCODE TinyInt = 0
SELECT @EVENTID=EVENTID, @CONSTITUENTID=CONSTITUENTID FROM REGISTRANT WHERE 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
declare @ORIGINALFUNDRAISINGGOAL money;
select @ORIGINALFUNDRAISINGGOAL = FUNDRAISINGGOAL from dbo.REGISTRANTEXTENSION(nolock) where REGISTRANTID = @ID;
if @ORIGINALFUNDRAISINGGOAL is null
set @ORIGINALFUNDRAISINGGOAL = @EVENTMINFUNDRAISING;
-- once fundraising is set, it cannot be changed by UI
set @FUNDRAISINGGOAL = @ORIGINALFUNDRAISINGGOAL;
If (@ISNOTLOWERRECRUITEMENT = 1 AND @MEMBERECRUITMENTGOAL < @EVENTNUMOFPARTS)
SET @MEMBERECRUITMENTGOAL=@EVENTNUMOFPARTS
If (@ISNOTLOWERVOLUNTEERRECRUITEMENT = 1 AND @VOLUNTEERRECRUITMENTGOAL < @EVENTNUMOFVOL)
SET @VOLUNTEERRECRUITMENTGOAL=@EVENTNUMOFVOL
If (@ISNOTLOWERDONORRETENTION = 1 AND @DONORRETENTIONGOAL < @EVENTPEROFDONORS)
SET @DONORRETENTIONGOAL=@EVENTPEROFDONORS
If (@ISNOTLOWERCOMMUNICATION = 1 AND @COMMUNICATIONGOAL < @EVENTNUMOFCOMM)
SET @COMMUNICATIONGOAL = @EVENTNUMOFCOMM
--If (@ISNOTLOWERTEAMMEMBERS = 1 AND @NUMOFTEAMEMBERS < @EVENTNUMOFTEAMEMBERS)
-- SET @NUMOFTEAMEMBERS = @EVENTNUMOFTEAMEMBERS
--If (@ISNOTLOWERTEAMMEMBERRETENTION = 1 and @PEROFTEAMMEMBERS < @EVENTPEROFTEAMMEMBERS)
-- set @PEROFTEAMMEMBERS = @EVENTPEROFTEAMMEMBERS
--If (@ISNOTLOWERTEAMS = 1 and @NUMOFTEAMS < @EVENTNUMOFTEAMS)
-- SET @NUMOFTEAMS = @EVENTNUMOFTEAMS
--If (@ISNOTLOWERTEAMRETENTION = 1 and @PEROFTEAMS < @EVENTPEROFTEAMS)
-- SET @PEROFTEAMS = @EVENTPEROFTEAMS
If (@ISNOTLOWERTARGETFUNDRAISING = 1 and @TARGETFUNDRAISINGGOAL < @EVENTTARGETFUNDRAISING)
SET @TARGETFUNDRAISINGGOAL = @EVENTTARGETFUNDRAISING
-- handle updating the data
update dbo.REGISTRANTEXTENSION set
REGISTRANTID = @REGISTRANTID,
FUNDRAISINGGOAL = @FUNDRAISINGGOAL,
ADVOCACYACTIONGOAL = @ADVOCACYACTIONGOAL,
MEMBERECRUITMENTGOAL = @MEMBERECRUITMENTGOAL,
COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
VOLUNTEERRECRUITMENTGOAL = @VOLUNTEERRECRUITMENTGOAL,
TARGETFUNDRAISINGGOAL = @TARGETFUNDRAISINGGOAL,
DONORRETENTIONGOAL = @DONORRETENTIONGOAL / 100,
OTHERUNITGOAL = @OTHERUNITGOAL,
ISPRIVATE = @ISPRIVATE,
ALLOWADMINACCESSHQ = @ALLOWADMINACCESSHQ,
ISDASHBOARDHELPERVISIBLE = @ISDASHBOARDHELPERVISIBLE,
ALLOWOTHERPARTICIPANTSCONTACTME = @ALLOWOTHERPARTICIPANTSCONTACTME,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = getdate()
where REGISTRANTID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;