USP_DATAFORMTEMPLATE_ADD_FAFNFGASSIGNGROUPS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CONTEXTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@GROUPS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_FAFNFGASSIGNGROUPS
(
@ID uniqueidentifier = null output,
@CONTEXTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@GROUPS xml = null
)
as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @ASSIGNMENTLIST table
(
ID uniqueidentifier,
CHECKED bit,
NEWASSIGNMENT uniqueidentifier
)
insert into @ASSIGNMENTLIST
select
T.c.value('(ID)[1]', 'uniqueidentifier') as ID,
T.c.value('(CHECKED)[1]', 'bit') as CHECKED,
T.c.value('(NEWASSIGNMENT)[1]', 'uniqueidentifier') as NEWASSIGNMENT
from @GROUPS.nodes('/GROUPS/ITEM') T(c)
begin tran
begin try
update dbo.TEAMEXTENSION set NFGCAMPAIGNLEVELID = AL.NEWASSIGNMENT
from TEAMEXTENSION TX
inner join @ASSIGNMENTLIST AL on AL.ID = TX.TEAMFUNDRAISINGTEAMID
where AL.CHECKED = 1 and AL.NEWASSIGNMENT is not null
update dbo.TEAMFUNDRAISINGTEAM set PARENTTEAMID = null
from dbo.TEAMFUNDRAISINGTEAM TFT
inner join dbo.TEAMEXTENSION TX on TX.TEAMFUNDRAISINGTEAMID = TFT.ID
inner join @ASSIGNMENTLIST AL on AL.ID = TFT.ID
where AL.CHECKED = 1 and al.NEWASSIGNMENT is not null and TX.TYPECODE in (1, 2, 3) and TFT.PARENTTEAMID is not null
end try
begin catch
exec dbo.USP_RAISE_ERROR
ROLLBACK TRAN
return 1
end catch
commit tran
return 0