USP_DATAFORMTEMPLATE_EDIT_FAF_GROUP
The save procedure used by the edit dataform template "FAF Group 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. |
@GROUPNAME | nvarchar(100) | IN | Group name |
@GROUPPAGEURL | nvarchar(100) | IN | Group page URL |
@PARENTGROUPID | uniqueidentifier | IN | Parent group |
@ORGANIZATIONID | uniqueidentifier | IN | Organization |
@FUNDRAISINGGOAL | money | IN | Minimum fundraising goal |
@TARGETFUNDRAISINGGOAL | money | IN | Target fundraising goal |
@PARTICIPANTRECRUITMENTGOAL | int | IN | Number of participants to recruit |
@DONORRETENTIONGOAL | decimal(5, 2) | IN | Percentage of donors to retain |
@COMMUNICATIONGOAL | int | IN | Number of communications to send |
@TEAMMEMBERSGOAL | int | IN | Number of team members |
@TEAMMEMBERSRETENTIONGOAL | decimal(5, 2) | IN | Percentage of team members to retain |
@TEAMSGOAL | int | IN | Number of teams |
@TEAMRETENTIONGOAL | decimal(5, 2) | IN | Percentage of teams to retain |
@GROUPVANITYID | int | IN | |
@GROUPPAGEURLORIGINAL | nvarchar(100) | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_FAF_GROUP (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@GROUPNAME nvarchar(100) ,
@GROUPPAGEURL nvarchar(100),
@PARENTGROUPID uniqueidentifier ,
@ORGANIZATIONID uniqueidentifier ,
@FUNDRAISINGGOAL money ,
@TARGETFUNDRAISINGGOAL money ,
@PARTICIPANTRECRUITMENTGOAL int,
@DONORRETENTIONGOAL decimal(5,2),
@COMMUNICATIONGOAL int,
@TEAMMEMBERSGOAL int ,
@TEAMMEMBERSRETENTIONGOAL decimal(5,2),
@TEAMSGOAL int,
@TEAMRETENTIONGOAL decimal(5,2),
@GROUPVANITYID int,
@GROUPPAGEURLORIGINAL nvarchar(100)
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @RELATIONSHIPTYPECODEID uniqueidentifier
declare @RECIPROCALTYPECODEID uniqueidentifier
declare @TEAMCONSTITUENTID uniqueidentifier
declare @CURRENTORGID uniqueidentifier
declare @RELATIONSHIPID uniqueidentifier
declare @GROUPCODE tinyint
SELECT @TEAMCONSTITUENTID = TEAMCONSTITUENTID, @GROUPCODE = TYPECODE from dbo.TEAMEXTENSION (NOLOCK) WHERE TEAMFUNDRAISINGTEAMID = @ID
SELECT @RELATIONSHIPTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Organization'
IF @GROUPCODE = 1
SELECT @RECIPROCALTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Team'
IF @GROUPCODE = 2
SELECT @RECIPROCALTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Company'
SELECT @RELATIONSHIPID = R.ID, @CURRENTORGID = R.RELATIONSHIPCONSTITUENTID
FROM dbo.RELATIONSHIP R (NOLOCK)
WHERE R.RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID and RECIPROCALCONSTITUENTID = @TEAMCONSTITUENTID
begin try
-- handle updating the data
if @GROUPPAGEURL <> @GROUPPAGEURLORIGINAL
update dbo.[VanityURL]
set VanityURL = @GROUPPAGEURL,
DATECHANGED = @CURRENTDATE
where ID = @GROUPVANITYID
update dbo.TEAMFUNDRAISINGTEAM
set
NAME = @GROUPNAME,
GOAL = @FUNDRAISINGGOAL,
PARENTTEAMID = @PARENTGROUPID,
DATECHANGED = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID
where ID = @ID
update dbo.TEAMEXTENSION
set PARTICIPANTGOAL = @PARTICIPANTRECRUITMENTGOAL,
TEAMMEMBERGOAL = @TEAMMEMBERSGOAL,
PCTTEAMMEMBERRETENSION = @TEAMMEMBERSRETENTIONGOAL,
TEAMRECRUITMENTGOAL = @TEAMSGOAL,
PCTTEAMSRETENSION = @TEAMRETENTIONGOAL,
COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
DATECHANGED = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID
where TEAMFUNDRAISINGTEAMID = @ID
IF @ORGANIZATIONID IS NOT NULL AND @GROUPCODE IN (1,2)
BEGIN
IF @CURRENTORGID IS NULL
EXEC dbo.USP_DATAFORMTEMPLATE_ADD_ORGTOGROUP_RELATIONSHIP
@ID = null,
@CHANGEAGENTID = @CHANGEAGENTID,
@CONSTITUENTID = @ORGANIZATIONID,
@RECIPROCALCONSTITUENTID = @TEAMCONSTITUENTID,
@RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
@COMMENTS = ''
ELSE
BEGIN
UPDATE dbo.RELATIONSHIP
SET RELATIONSHIPCONSTITUENTID = @ORGANIZATIONID, DATECHANGED = @CURRENTDATE, CHANGEDBYID = @CHANGEAGENTID
WHERE RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID and RECIPROCALCONSTITUENTID = @TEAMCONSTITUENTID
UPDATE dbo.RELATIONSHIP
SET RECIPROCALCONSTITUENTID = @ORGANIZATIONID, DATECHANGED = @CURRENTDATE, CHANGEDBYID = @CHANGEAGENTID
WHERE RELATIONSHIPTYPECODEID = @RECIPROCALTYPECODEID and RELATIONSHIPCONSTITUENTID = @TEAMCONSTITUENTID
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE
@ORGANIZATIONID,
@TEAMCONSTITUENTID,
@RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID,
@CHANGEAGENTID,
@CURRENTDATE
END
END
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;