USP_FAF_ADDRESSBOOK_DEMOTION_INSERT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN | |
@COMPANYLEADERCONSTITUENTID | uniqueidentifier | IN | |
@ISDEMOTEDTOHOUSEHOLD | bit | IN |
Definition
Copy
create procedure dbo.USP_FAF_ADDRESSBOOK_DEMOTION_INSERT(
@GROUPID uniqueidentifier = NULL,
@EVENTID uniqueidentifier = NULL,
@COMPANYLEADERCONSTITUENTID uniqueidentifier = NULL,
@ISDEMOTEDTOHOUSEHOLD bit
)
as
begin
-- get the list from company individual and household leaders
-- get active events
DECLARE @COMPANYLIST TABLE
(
ID int IDENTITY(1,1),
GROUPNAME varchar(200),
GROUPID uniqueidentifier,
CONSTITUENTNAME varchar(400),
CONSTITUENTID uniqueidentifier
)
--temporarily switch back to company
Update dbo.TEAMExtension Set TypeCode = 2 Where TEAMFUNDRAISINGTEAMID = @GROUPID
--insert household leaders
if @ISDEMOTEDTOHOUSEHOLD = 0
begin
insert into @COMPANYLIST(GROUPNAME, GROUPID, CONSTITUENTNAME, CONSTITUENTID)
select
TM.NAME,
TM.ID,
C.name,
C.ID
from dbo.TEAMEXTENSION TE
INNER JOIN dbo.TEAMFUNDRAISINGTEAM TM
ON TE.TEAMFUNDRAISINGTEAMID = TM.ID
INNER JOIN dbo.TEAMFUNDRAISINGTEAMCAPTAIN TC --retrieve team leaders
ON TE.TEAMFUNDRAISINGTEAMID = TC.TEAMFUNDRAISINGTEAMID
INNER JOIN dbo.CONSTITUENT C
ON TC.CONSTITUENTID = C.ID
WHERE TE.EVENTID = @EVENTID
AND TE.TYPECODE = 3 AND TE.STATUSCODE = 0
and TM.PARENTTEAMID = @GROUPID
end
-- insert individuals
insert into @COMPANYLIST(GROUPNAME, GROUPID, CONSTITUENTNAME, CONSTITUENTID)
select TEAMNAME, TEAMID, name, ID
from dbo.UFN_FAF_COMPANYINDIVIDUALLIST(@COMPANYLEADERCONSTITUENTID, @EVENTID)
-- complete type change
if @ISDEMOTEDTOHOUSEHOLD = 0
Update dbo.TEAMExtension Set TypeCode = 1 Where TEAMFUNDRAISINGTEAMID = @GROUPID
else
Update dbo.TEAMExtension Set TypeCode = 3 Where TEAMFUNDRAISINGTEAMID = @GROUPID
declare @count int
set @count = 1
declare @CONSTITUENTID uniqueidentifier
declare @NUMCONSTITUENT int
Select @NUMCONSTITUENT = max(ID) from @COMPANYLIST
while @count <= @NUMCONSTITUENT
begin
Select @CONSTITUENTID = CONSTITUENTID from @COMPANYLIST where id = @count
Exec dbo.USP_FAFADDRESSBOOK_REGISTRANT_ADD @GROUPID, @CONSTITUENTID
-- add loop count
set @count = @count + 1
end
end