USP_CONSTITUENTUPDATEBATCH_ADDCONSTITUENCIES
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENCYTABLE | UDT_CONSTITUENTUPDATEBATCH_CONSTITUENCY | IN | |
@ID | uniqueidentifier | IN | |
@PROSPECTMANAGERFUNDRAISERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_CONSTITUENTUPDATEBATCH_ADDCONSTITUENCIES(
@CONSTITUENCYTABLE dbo.UDT_CONSTITUENTUPDATEBATCH_CONSTITUENCY readonly,
@ID uniqueidentifier,
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
begin
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
--Update new constituencies into the CONSTITUENCY table
declare @USERDEFINEDCONSTITUENCY xml;
set @USERDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
left join dbo.CONSTITUENCYSYSTEMNAME on CONSTITUENCY.CONSTITUENCYCODEID = CONSTITUENCYSYSTEMNAME.ID
where
CONSTITUENCYSYSTEMNAME.ID is null
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_UPDATEFROMXML @ID, @USERDEFINEDCONSTITUENCY, @CHANGEAGENTID;
declare @SYSTEMDEFINEDCONSTITUENCY xml;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
where
CONSTITUENCY.CONSTITUENCYCODEID = 'F828E957-5F5E-479A-8F23-2FFD6C7C68FF'
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_BOARDMEMBER_UPDATEFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
where
CONSTITUENCY.CONSTITUENCYCODEID = '6093915E-ADE9-42BE-88AE-304731754467'
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_STAFF_UPDATEFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
where
CONSTITUENCY.CONSTITUENCYCODEID = 'D2DCA06A-BE6E-40B3-B95D-59A926181923'
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_FUNDRAISER_UPDATEFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
declare @EXISTINGPROSPECT bit = 0;
if exists(select top 1 1 from dbo.PROSPECT where ID = @ID)
set @EXISTINGPROSPECT = 1;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
where
CONSTITUENCY.CONSTITUENCYCODEID = '00E748FB-940D-4A7D-A133-C148B29410A8'
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_PROSPECT_UPDATEFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
if @SYSTEMDEFINEDCONSTITUENCY is not null
begin
if not exists(select 1 from dbo.PROSPECT where ID = @ID)
begin
insert into dbo.PROSPECT
(
ID,
PROSPECTMANAGERFUNDRAISERID,
ADDEDBYID, CHANGEDBYID,
DATEADDED, DATECHANGED
)
values
(
@ID,
@PROSPECTMANAGERFUNDRAISERID,
@CHANGEAGENTID, @CHANGEAGENTID,
@CURRENTDATE, @CURRENTDATE
);
end
else if @PROSPECTMANAGERFUNDRAISERID is not null
begin
update dbo.PROSPECT set
PROSPECTMANAGERFUNDRAISERID = @PROSPECTMANAGERFUNDRAISERID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
update dbo.INTERACTION set
FUNDRAISERID = @PROSPECTMANAGERFUNDRAISERID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.INTERACTION I
inner join dbo.PROSPECTPLAN PP on PP.ID = I.PROSPECTPLANID
left outer join dbo.PLANOUTLINESTEP SI on SI.ID=I.PLANOUTLINESTEPID
where
I.FUNDRAISERID is null
and SI.FUNDRAISERROLECODE = 0
and PP.PROSPECTID = @ID
and @PROSPECTMANAGERFUNDRAISERID not in (
select IAF.FUNDRAISERID from dbo.INTERACTIONADDITIONALFUNDRAISER as IAF
where IAF.INTERACTIONID = I.ID
);
end
end
else if @EXISTINGPROSPECT = 0 and @PROSPECTMANAGERFUNDRAISERID is not null
begin
insert into dbo.PROSPECT
(
ID,
PROSPECTMANAGERFUNDRAISERID,
ADDEDBYID, CHANGEDBYID,
DATEADDED, DATECHANGED
)
values
(
@ID,
@PROSPECTMANAGERFUNDRAISERID,
@CHANGEAGENTID, @CHANGEAGENTID,
@CURRENTDATE, @CURRENTDATE
);
insert into dbo.PROSPECTDATERANGE
(
CONSTITUENTID,
ADDEDBYID, CHANGEDBYID,
DATEADDED, DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID, @CHANGEAGENTID,
@CURRENTDATE, @CURRENTDATE
);
end
else if @EXISTINGPROSPECT = 1 and @PROSPECTMANAGERFUNDRAISERID is not null
begin
update dbo.PROSPECT set
PROSPECTMANAGERFUNDRAISERID = @PROSPECTMANAGERFUNDRAISERID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
update dbo.INTERACTION set
FUNDRAISERID = @PROSPECTMANAGERFUNDRAISERID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.INTERACTION I
inner join dbo.PROSPECTPLAN PP on PP.ID = I.PROSPECTPLANID
left outer join dbo.PLANOUTLINESTEP SI on SI.ID=I.PLANOUTLINESTEPID
where
I.FUNDRAISERID is null
and SI.FUNDRAISERROLECODE = 0
and PP.PROSPECTID = @ID
and @PROSPECTMANAGERFUNDRAISERID not in (
select IAF.FUNDRAISERID from dbo.INTERACTIONADDITIONALFUNDRAISER as IAF
where IAF.INTERACTIONID = I.ID
);
end
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
where
CONSTITUENCY.CONSTITUENCYCODEID = 'E7489703-3D63-4017-A2BC-88C092563C5D'
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_VOLUNTEER_UPDATEFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
if @SYSTEMDEFINEDCONSTITUENCY.exist('/CONSTITUENCY/ITEM/CONSTITUENCYCODEID/text()[string-length() > 0]') = 1
begin
if not exists (select 1 from dbo.VOLUNTEER where ID=@ID)
insert into dbo.VOLUNTEER
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
else
exec dbo.USP_VOLUNTEER_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
--Committee
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.ORIGINALCONSTITUENCYID as ID,
CONSTITUENCY.DATEFROM,
CONSTITUENCY.DATETO,
CONSTITUENCY.CONSTITUENCYCODEID
from
@CONSTITUENCYTABLE CONSTITUENCY
where
CONSTITUENCY.CONSTITUENCYCODEID = 'AC9DB5A4-14E0-416A-9FB2-04038AC66799'
for xml raw('ITEM'),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_COMMITTEE_UPDATEFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
if @SYSTEMDEFINEDCONSTITUENCY.exist('/CONSTITUENCY/ITEM/CONSTITUENCYCODEID/text()[string-length() > 0]') = 1
begin
if not exists (select 1 from dbo.COMMITTEE where ID=@ID)
insert into dbo.COMMITTEE
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
else
exec dbo.USP_COMMITTEE_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
end