USP_DATAFORMTEMPLATE_EDIT_FAFNFG
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@NAME | varchar(200) | IN | |
@NFGTYPECODEID | uniqueidentifier | IN | |
@SITES | xml | IN | |
@ALLOWOTHERSJOINFROMGROUPPAGE | bit | IN | |
@ALLOWCOMPANIESJOINFROMGROUPPAGE | bit | IN | |
@ALLOWGROUPSCHOOSEHIERARCHYLEVEL | bit | IN | |
@TOTALREVENUEGOAL | money | IN | |
@TOTALDONORSGOAL | int | IN | |
@PARTICIPANTSRECRECRUITMENTGOAL | int | IN | |
@PARTICIPANTSRETAINEDGOAL | decimal(18, 0) | IN | |
@ContactID | uniqueidentifier | IN | |
@OrganizationConstituentID | uniqueidentifier | IN | |
@FAFGROUPSRECRUITMENTGOAL | int | IN | |
@FAFGROUPSRETAINEDGOAL | decimal(18, 0) | IN | |
@COMMUNICATIONSTOSEND | int | IN | |
@GROUPCONSTITUENTID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@ROOTLEVELID | uniqueidentifier | IN | |
@NOTMATCH | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_FAFNFG (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME varchar(200),
@NFGTYPECODEID uniqueidentifier,
@SITES xml,
@ALLOWOTHERSJOINFROMGROUPPAGE bit,
@ALLOWCOMPANIESJOINFROMGROUPPAGE bit,
@ALLOWGROUPSCHOOSEHIERARCHYLEVEL bit,
-- @ALLOWOTHERSJOINFROMLOCALWEBSITE bit,
-- @ALLOWCOMPANIESJOINFROMLOCALWEBSITE bit,
@TOTALREVENUEGOAL money,
@TOTALDONORSGOAL integer,
@PARTICIPANTSRECRECRUITMENTGOAL integer,
@PARTICIPANTSRETAINEDGOAL decimal,
@ContactID uniqueidentifier,
@OrganizationConstituentID uniqueidentifier,
@FAFGROUPSRECRUITMENTGOAL int,
@FAFGROUPSRETAINEDGOAL decimal,
@COMMUNICATIONSTOSEND int,
@GROUPCONSTITUENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@ROOTLEVELID uniqueidentifier,
@NOTMATCH bit
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
DECLARE @KEYNAME as nvarchar(200)
DECLARE @LEVELNAME as nvarchar(200)
DECLARE @ORIGINALGROUPID uniqueidentifier
declare @defaultSiteId uniqueidentifier,
@dSite nvarchar(200)
SET @KEYNAME = ( SELECT KEYNAME FROM dbo.Constituent WHERE ID = @GROUPCONSTITUENTID )
SET @ORIGINALGROUPID = ( SELECT GROUPCONSTITUENTID FROM dbo.FAFNFGCAMPAIGN WHERE ID = @ID )
SET @LEVELNAME =
( select FAFNFGCAMPAIGNLEVEL.NAME
from dbo.FAFNFGCAMPAIGNLEVEL
where FAFNFGCAMPAIGNLEVEL.NFGCAMPAIGNID = @ID
and FAFNFGCAMPAIGNLEVEL.HIERARCHYPATH.GetLevel() = 1
)
begin try
-- handle updating the data
IF @LEVELNAME <> @NAME AND @LEVELNAME IS NOT NULL
BEGIN
UPDATE FAFNFGCAMPAIGNLEVEL
SET FAFNFGCAMPAIGNLEVEL.NAME = @NAME,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
WHERE NFGCAMPAIGNID = @ID
AND FAFNFGCAMPAIGNLEVEL.HIERARCHYPATH.GetLevel() = 1
END
update dbo.FAFNFGCAMPAIGN set
contactID = @ContactID,
OrganizationConstituentID = @OrganizationConstituentID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
NAME = @NAME,
NFGTYPECODEID = @NFGTYPECODEID,
ALLOWOTHERSJOINFROMGROUPPAGE = @ALLOWOTHERSJOINFROMGROUPPAGE,
ALLOWCOMPANIESJOINFROMGROUPPAGE = @ALLOWCOMPANIESJOINFROMGROUPPAGE,
ALLOWGROUPSCHOOSEHIERARCHYLEVEL = @ALLOWGROUPSCHOOSEHIERARCHYLEVEL,
-- ALLOWOTHERSJOINFROMLOCALWEBSITE = @ALLOWOTHERSJOINFROMLOCALWEBSITE,
-- ALLOWCOMPANIESJOINFROMLOCALWEBSITE = @ALLOWCOMPANIESJOINFROMLOCALWEBSITE,
TOTALREVENUEGOAL = @TOTALREVENUEGOAL,
TOTALDONORSGOAL = @TOTALDONORSGOAL,
PARTICIPANTSRECRECRUITMENTGOAL = @PARTICIPANTSRECRECRUITMENTGOAL,
PARTICIPANTSRETAINEDGOAL = @PARTICIPANTSRETAINEDGOAL,
FAFGROUPSRECRUITMENTGOAL = @FAFGROUPSRECRUITMENTGOAL,
FAFGROUPSRETAINEDGOAL = @FAFGROUPSRETAINEDGOAL,
COMMUNICATIONSTOSEND = @COMMUNICATIONSTOSEND
where ID = @ID
-- Add/Update Relationship data
DECLARE @CURRENTORGID uniqueidentifier
DECLARE @RELATIONSHIPID uniqueidentifier
declare @RECIPROCALTYPECODEID uniqueidentifier
DECLARE @RELATIONSHIPTYPECODEID uniqueidentifier
DECLARE @RELATIONSHIPCONSTITUENTID_EXISTS uniqueidentifier
DECLARE @RECIPROCALCONSTITUENTID_EXISTS uniqueidentifier
SELECT @RECIPROCALTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Organization'
SELECT @RELATIONSHIPTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF National Fundraising Group'
SELECT @RELATIONSHIPCONSTITUENTID_EXISTS = RELATIONSHIPCONSTITUENTID
FROM DBO.RELATIONSHIP (NOLOCK)
WHERE RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID and RECIPROCALCONSTITUENTID = @ORGANIZATIONCONSTITUENTID
AND RELATIONSHIPCONSTITUENTID = @GROUPCONSTITUENTID
/*
SET @RECIPROCALCONSTITUENTID_EXISTS = ( SELECT RECIPROCALCONSTITUENTID FROM DBO.RELATIONSHIP (NOLOCK)
WHERE RELATIONSHIPTYPECODEID = @RECIPROCALTYPECODEID and RELATIONSHIPCONSTITUENTID = @ORGANIZATIONCONSTITUENTID )
*/
SELECT @RELATIONSHIPID = R.ID,
@CURRENTORGID = R.RELATIONSHIPCONSTITUENTID
FROM dbo.RELATIONSHIP R (NOLOCK)
WHERE R.RELATIONSHIPTYPECODEID = @RECIPROCALTYPECODEID
AND RECIPROCALCONSTITUENTID = @ORIGINALGROUPID --- @ORGANIZATIONCONSTITUENTID
IF @GROUPCONSTITUENTID IS NOT NULL AND @ORGANIZATIONCONSTITUENTID IS NOT NULL
BEGIN
IF ( @CURRENTORGID <> @ORGANIZATIONCONSTITUENTID OR @CURRENTORGID IS NULL) AND
@RELATIONSHIPCONSTITUENTID_EXISTS IS NULL
BEGIN
EXEC dbo.USP_DATAFORMTEMPLATE_ADD_ORGTOGROUP_RELATIONSHIP
@ID = null,
@CHANGEAGENTID = @CHANGEAGENTID,
@CONSTITUENTID = @GROUPCONSTITUENTID,
@RECIPROCALCONSTITUENTID = @ORGANIZATIONCONSTITUENTID,
@RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
@COMMENTS = ''
END
END
/* no need for site security
if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1
begin
if @SITES is null
raiserror('Site is required.',13,1)
else
BEGIN
select @defaultSiteId = SITEID from dbo.UFN_SITE_MYSITE_GET(@CURRENTAPPUSERID)
set @dSite = '<SITEID>'+ cast(@defaultSiteId as nvarchar(40)) +'</SITEID>';
if CAST(@SITES AS NVARCHAR(MAX)) NOT LIKE '%'+@dSite+'%'
raiserror('You did not assign your default site to the event. To continue, edit site security and add your default site.', 13,1)
end
END
*/
exec dbo.USP_NFG_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE
if @NOTMATCH = 1
exec dbo.USP_NFGLEVEL_REMOVECHILDLEVELSITES @ROOTLEVELID, @SITES;
set @SITES = dbo.UFN_NFG_GETSITES_TOITEMLISTXML(@ID)
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;