USP_REGISTRANTREGISTRATION_CHANGEGOAL
Update registrant registration personal goal and group goal.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@GROUPID | uniqueidentifier | IN | |
@ROLECODE | tinyint | IN | |
@REGISTRATIONOPTIONID | uniqueidentifier | IN | |
@FUNDRAISINGGOAL | money | IN | |
@TARGETFUNDRAISINGGOAL | money | IN | |
@PARTICIPANTRECRUITGOAL | int | IN | |
@DONORRETENTIONGOAL | decimal(7, 2) | IN | |
@COMMUNICATIONGOAL | int | IN | |
@GROUPFUNDRAISINGGOAL | money | IN | |
@GROUPPARTICIPANTRECRUITMENTGOAL | int | IN | |
@GROUPDONORRETENTIONGOAL | decimal(7, 2) | IN | |
@GROUPTEAMMEMBERSGOAL | int | IN | |
@GROUPTEAMMEMBERSRETENTIONGOAL | decimal(7, 2) | IN | |
@GROUPTEAMSGOAL | int | IN | |
@GROUPTEAMSRETENTIONGOAL | decimal(7, 2) | IN | |
@GROUPCOMMUNICATIONGOAL | int | IN | |
@SKIPPERSONALGOALS | bit | IN | |
@SKIPGROUPGOALS | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_REGISTRANTREGISTRATION_CHANGEGOAL
(
@ID uniqueidentifier, --RegistrantID
@GROUPID uniqueidentifier,
@ROLECODE tinyint,
@REGISTRATIONOPTIONID uniqueidentifier,
@FUNDRAISINGGOAL money ,
@TARGETFUNDRAISINGGOAL money ,
@PARTICIPANTRECRUITGOAL int,
@DONORRETENTIONGOAL decimal(7,2) ,
@COMMUNICATIONGOAL int ,
@GROUPFUNDRAISINGGOAL money ,
@GROUPPARTICIPANTRECRUITMENTGOAL int,
@GROUPDONORRETENTIONGOAL decimal(7,2),
@GROUPTEAMMEMBERSGOAL int,
@GROUPTEAMMEMBERSRETENTIONGOAL decimal(7,2),
@GROUPTEAMSGOAL int,
@GROUPTEAMSRETENTIONGOAL decimal(7,2),
@GROUPCOMMUNICATIONGOAL int,
@SKIPPERSONALGOALS bit = 0, -- 1 when only change group goals
@SKIPGROUPGOALS bit = 0
)
as
declare @R_FUNDRAISINGGOAL money ,
@R_TARGETFUNDRAISINGGOAL money ,
@R_PARTICIPANTRECRUITGOAL int,
@R_DONORRETENTIONGOAL decimal(7,2) ,
@R_COMMUNICATIONGOAL int ,
@R_GROUPFUNDRAISINGGOAL money ,
@R_GROUPPARTICIPANTRECRUITMENTGOAL int,
@R_GROUPDONORRETENTIONGOAL decimal(7,2),
@R_GROUPTEAMMEMBERSGOAL int,
@R_GROUPTEAMMEMBERSRETENTIONGOAL decimal(7,2),
@R_GROUPTEAMSGOAL int,
@R_GROUPTEAMSRETENTIONGOAL decimal(7,2),
@R_GROUPCOMMUNICATIONGOAL int,
@REGTYPEGOAL tinyint,
@ISNOTLOWERFUNDRAISING bit,
@ISNOTLOWERRECRUITEMENT bit,
@ISNOTLOWERDONORRETENTION bit,
@ISNOTLOWERCOMMUNICATION bit,
@ISNOTLOWERTEAMMEMBERS bit,
@ISNOTLOWERTEAMMEMBERRETENTION bit,
@ISNOTLOWERTEAMS bit,
@ISNOTLOWERTEAMRETENTION bit,
@ISNOTLOWERTARGETFUNDRAISING bit,
@CHANGEAGENTID uniqueidentifier,
@CURRENTDATE datetime
begin try
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
if (@ROLECODE in (0,1,2,3,4,5) And @SKIPPERSONALGOALS = 0)
begin
--if @ROLECODE = 3
-- set @REGTYPEGOAL = 3
--else
set @REGTYPEGOAL = 0
select @R_FUNDRAISINGGOAL=MINFUNDRAISING,
@R_TARGETFUNDRAISINGGOAL=TARGETFUNDRAISING,
@R_PARTICIPANTRECRUITGOAL=RECRUITEMENT,
@R_DONORRETENTIONGOAL=DONORRETENTION * 100,
@R_COMMUNICATIONGOAL=COMMUNICATIONS,
@ISNOTLOWERFUNDRAISING = ISNOTLOWERFUNDRAISING,
@ISNOTLOWERTARGETFUNDRAISING = ISNOTLOWERTARGETFUNDRAISING,
@ISNOTLOWERRECRUITEMENT = ISNOTLOWERRECRUITEMENT,
@ISNOTLOWERDONORRETENTION = ISNOTLOWERDONORRETENTION,
@ISNOTLOWERCOMMUNICATION = ISNOTLOWERCOMMUNICATION
from FAFREgistrationTypeGoal
where EVENTPRICEID = @REGISTRATIONOPTIONID AND FAFREGISTRATIONTYPEGOAL.REGTYPEGOALCODE = @REGTYPEGOAL
if (@FUNDRAISINGGOAL < @R_FUNDRAISINGGOAL and @ISNOTLOWERFUNDRAISING = 1)
raiserror('MINFUNDRAISINGVIOLATION', 13, 1)
if (@TARGETFUNDRAISINGGOAL < @R_FUNDRAISINGGOAL and @ISNOTLOWERFUNDRAISING = 1)
raiserror('TARGETFUNDRAISINGVIOLATION', 13, 1)
if (@PARTICIPANTRECRUITGOAL < @R_PARTICIPANTRECRUITGOAL and @ISNOTLOWERRECRUITEMENT = 1)
raiserror('RECRUITEMENTVIOLATION', 13, 1)
-- if (@DONORRETENTIONGOAL < @R_DONORRETENTIONGOAL and @ISNOTLOWERDONORRETENTION = 1)
-- raiserror('DONORRETENTIONVIOLATION', 13, 1)
if (@COMMUNICATIONGOAL < @R_COMMUNICATIONGOAL and @ISNOTLOWERCOMMUNICATION = 1)
raiserror('COMMUNICATIONVIOLATION', 13, 1)
end
if (@ROLECODE in (0,1,3) and @SKIPGROUPGOALS = 0)
begin
if @ROLECODE = 0
set @REGTYPEGOAL = 2
if @ROLECODE in (1,3)
set @REGTYPEGOAL = @ROLECODE
select @R_GROUPFUNDRAISINGGOAL = MINFUNDRAISING ,
@R_GROUPPARTICIPANTRECRUITMENTGOAL = RECRUITEMENT,
@R_GROUPDONORRETENTIONGOAL = DONORRETENTION * 100,
@R_GROUPTEAMMEMBERSGOAL = TEAMMEMBERS,
@R_GROUPTEAMMEMBERSRETENTIONGOAL = TEAMMEMBERRETENTION * 100,
@R_GROUPTEAMSGOAL = TEAMS,
@R_GROUPTEAMSRETENTIONGOAL = TEAMRETENTION * 100,
@R_GROUPCOMMUNICATIONGOAL = COMMUNICATIONS,
@ISNOTLOWERFUNDRAISING = ISNOTLOWERFUNDRAISING,
@ISNOTLOWERRECRUITEMENT = ISNOTLOWERRECRUITEMENT,
@ISNOTLOWERDONORRETENTION = ISNOTLOWERDONORRETENTION,
@ISNOTLOWERTEAMMEMBERS = ISNOTLOWERTEAMMEMBERS,
@ISNOTLOWERTEAMMEMBERRETENTION = ISNOTLOWERTEAMMEMBERRETENTION,
@ISNOTLOWERTEAMS = ISNOTLOWERTEAMS,
@ISNOTLOWERTEAMRETENTION = ISNOTLOWERTEAMRETENTION,
@ISNOTLOWERCOMMUNICATION = ISNOTLOWERCOMMUNICATION
from FAFREgistrationTypeGoal
where EVENTPRICEID = @REGISTRATIONOPTIONID AND FAFREGISTRATIONTYPEGOAL.REGTYPEGOALCODE = @REGTYPEGOAL
if (@GROUPFUNDRAISINGGOAL < @R_GROUPFUNDRAISINGGOAL and @ISNOTLOWERFUNDRAISING = 1)
raiserror('GROUPFUNDRAISINGVIOLATION', 13, 1)
if (@GROUPPARTICIPANTRECRUITMENTGOAL < @R_GROUPPARTICIPANTRECRUITMENTGOAL and @ISNOTLOWERRECRUITEMENT = 1)
raiserror('GROUPRECRUITEMENTVIOLATION', 13, 1)
if (@GROUPDONORRETENTIONGOAL < @R_GROUPDONORRETENTIONGOAL and @ISNOTLOWERDONORRETENTION = 1)
raiserror('GROUPDONORRETENTIONVIOLATION', 13, 1)
if (@GROUPTEAMMEMBERSGOAL < @R_GROUPTEAMMEMBERSGOAL and @ISNOTLOWERTEAMMEMBERS = 1)
raiserror('TEAMMEMBERGOALVIOLATION', 13, 1)
if (@GROUPTEAMMEMBERSRETENTIONGOAL < @R_GROUPTEAMMEMBERSRETENTIONGOAL and @ISNOTLOWERTEAMMEMBERS = 1)
raiserror('TEAMMEMBERRETENTIONVIOLATION', 13, 1)
if (@GROUPTEAMSGOAL < @R_GROUPTEAMSGOAL and @ISNOTLOWERTEAMS = 1)
raiserror('TEAMSVIOLATION', 13, 1)
if (@GROUPTEAMSRETENTIONGOAL < @R_GROUPTEAMSRETENTIONGOAL and @ISNOTLOWERTEAMRETENTION = 1)
raiserror('TEAMSRETENTIONVIOLATION', 13, 1)
if (@GROUPCOMMUNICATIONGOAL < @R_GROUPCOMMUNICATIONGOAL and @ISNOTLOWERCOMMUNICATION = 1)
raiserror('GROUPCOMMUNICATIONVIOLATION', 13, 1)
end
--if @ROLECODE = 4
--begin
-- set @FUNDRAISINGGOAL = 0
-- set @PARTICIPANTRECRUITGOAL = 0
-- set @COMMUNICATIONGOAL = 0
-- set @TARGETFUNDRAISINGGOAL = 0
-- set @DONORRETENTIONGOAL = 0
--end
if @SKIPPERSONALGOALS = 0
begin
update dbo.REGISTRANTEXTENSION
set FUNDRAISINGGOAL = @FUNDRAISINGGOAL,
MEMBERECRUITMENTGOAL = @PARTICIPANTRECRUITGOAL,
COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
TARGETFUNDRAISINGGOAL = @TARGETFUNDRAISINGGOAL,
DONORRETENTIONGOAL = @DONORRETENTIONGOAL / 100,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where REGISTRANTID = @ID
end
if (@ROLECODE in (0,1,3) AND @SKIPGROUPGOALS = 0)
begin
update dbo.TEAMFUNDRAISINGTEAM
set GOAL = @GROUPFUNDRAISINGGOAL
where ID = @GROUPID
update dbo.TEAMEXTENSION
set TARGETFUNDRAISINGGOAL = @GROUPFUNDRAISINGGOAL,
PARTICIPANTGOAL = @GROUPPARTICIPANTRECRUITMENTGOAL,
TEAMMEMBERGOAL = @GROUPTEAMMEMBERSGOAL,
PCTTEAMMEMBERRETENSION = @GROUPTEAMMEMBERSRETENTIONGOAL / 100,
TEAMRECRUITMENTGOAL = @GROUPTEAMSGOAL,
PCTTEAMSRETENSION = @GROUPTEAMSRETENTIONGOAL / 100,
COMMUNICATIONGOAL = @GROUPCOMMUNICATIONGOAL,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where TEAMFUNDRAISINGTEAMID = @GROUPID
end
--else
-- if @ROLECODE = 3
-- begin
-- update dbo.TEAMFUNDRAISINGTEAM
-- set GOAL = @FUNDRAISINGGOAL
-- where ID = @GROUPID
-- update dbo.TEAMEXTENSION
-- set TARGETFUNDRAISINGGOAL = @TARGETFUNDRAISINGGOAL,
-- PARTICIPANTGOAL = @PARTICIPANTRECRUITGOAL,
-- COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
-- DONORRETENTIONGOAL = @DONORRETENTIONGOAL / 100
-- where TEAMFUNDRAISINGTEAMID = @GROUPID
-- if @SKIPPERSONALGOALS = 0
-- begin
-- update dbo.REGISTRANTEXTENSION
-- set FUNDRAISINGGOAL = @TARGETFUNDRAISINGGOAL,
-- MEMBERECRUITMENTGOAL = @PARTICIPANTRECRUITGOAL,
-- COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
-- TARGETFUNDRAISINGGOAL = @TARGETFUNDRAISINGGOAL,
-- DONORRETENTIONGOAL = @DONORRETENTIONGOAL / 100
-- where REGISTRANTID = @ID
-- end
-- end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;