USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_INDTOIND_6
The save procedure used by the edit dataform template "Relationship Individual to Individual Edit Form 3".
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. |
@RELATIONSHIPTYPECODEID | uniqueidentifier | IN | Relationship type |
@RECIPROCALTYPECODEID | uniqueidentifier | IN | Reciprocal relationship type |
@STARTDATE | datetime | IN | Start date |
@ENDDATE | datetime | IN | End date |
@ISSPOUSE | bit | IN | Is spouse? |
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply to <Constituent> for revenue from <Reciprocal> |
@PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition credit match percent |
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply to <Reciprocal> for revenue from <Constituent> |
@RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition credit match percent |
@PRIMARYRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition credit type |
@RECIPROCALRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition credit type |
@COMMENTS | nvarchar(max) | IN | Comments |
@MEMBERSOFSAMEHOUSEHOLD | bit | IN | These individuals are members of the same household |
@COPYCONTACTINFO | bit | IN | Copy primary contact information |
@SKIP_ADDING_SECURITYGROUPS | bit | IN | Skip adding security groups |
@IS_NEW_SPOUSE | bit | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_INDTOIND_6
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@RELATIONSHIPTYPECODEID uniqueidentifier,
@RECIPROCALTYPECODEID uniqueidentifier,
@STARTDATE datetime,
@ENDDATE datetime,
@ISSPOUSE bit,
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit,
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2),
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit,
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2),
@PRIMARYRECOGNITIONTYPECODEID uniqueidentifier,
@RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier,
@COMMENTS nvarchar(max),
@MEMBERSOFSAMEHOUSEHOLD bit,
@COPYCONTACTINFO bit,
@SKIP_ADDING_SECURITYGROUPS bit,
@IS_NEW_SPOUSE bit,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @CONSTITUENTID uniqueidentifier, @RECIPROCALCONSTITUENTID uniqueidentifier;
select
@CONSTITUENTID = RELATIONSHIPCONSTITUENTID,
@RECIPROCALCONSTITUENTID = RECIPROCALCONSTITUENTID
from dbo.RELATIONSHIP
where
ID = @ID
declare @RECOGNITIONSSETTHROUGHMEMBERDEFAULTALLOTHERMEMBERS bit = 0;
begin try
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
update
dbo.RELATIONSHIP
set
RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
STARTDATE = @STARTDATE,
ENDDATE = @ENDDATE,
ISSPOUSE = @ISSPOUSE,
COMMENTS = @COMMENTS,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
-- If the two constituents are members of the same household, then update the household name
declare @HOUSEHOLDID uniqueidentifier
select
@HOUSEHOLDID = GM1.GROUPID
from dbo.GROUPMEMBER GM1
inner join dbo.GROUPMEMBER GM2 on GM1.GROUPID = GM2.GROUPID
inner join dbo.GROUPDATA GD on GM1.GROUPID = GD.ID
where
GM1.MEMBERID = @CONSTITUENTID and
GM2.MEMBERID = @RECIPROCALCONSTITUENTID
if @HOUSEHOLDID is not null
begin
declare @MEMBERRECOGNIZEOTHERMEMBERSCODE tinyint
set @MEMBERRECOGNIZEOTHERMEMBERSCODE = dbo.UFN_HOUSEHOLD_GETMEMBERRECOGNIZEOTHERMEMBERSSETTING(@HOUSEHOLDID)
if @MEMBERRECOGNIZEOTHERMEMBERSCODE = 1
begin
set @RECOGNITIONSSETTHROUGHMEMBERDEFAULTALLOTHERMEMBERS = 1
end
end
if @RECOGNITIONSSETTHROUGHMEMBERDEFAULTALLOTHERMEMBERS = 0
exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @CONSTITUENTID, @RECIPROCALCONSTITUENTID,
@STARTDATE, @ENDDATE, @PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR,
@PRIMARYRECOGNITIONTYPECODEID, @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS,
@RECIPROCALSOFTCREDITMATCHFACTOR, @RECIPROCALRECOGNITIONTYPECODEID, @CHANGEAGENTID;
if @HOUSEHOLDID is not null
update dbo.[CONSTITUENT]
set
[KEYNAME] = left(dbo.UFN_NAMEFORMAT_FROMID(dbo.GROUPDATA.NAMEFORMATFUNCTIONID, PM.MEMBERID), 100),
[DATECHANGED] = @CURRENTDATE,
[CHANGEDBYID] = @CHANGEAGENTID
from dbo.GROUPDATA
inner join dbo.GROUPMEMBER PM on dbo.GROUPDATA.ID = PM.GROUPID and PM.ISPRIMARY <> 0
where [GROUPDATA].ID = @HOUSEHOLDID
and [CONSTITUENT].ID = @HOUSEHOLDID
and dbo.GROUPDATA.NAMEFORMATFUNCTIONID is not null;
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE
@CONSTITUENTID,
@RECIPROCALCONSTITUENTID,
@RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID,
@CHANGEAGENTID,
@CURRENTDATE
if @ISSPOUSE = 1
exec dbo.USP_SPOUSERELATIONSHIP_SETUPHOUSEHOLD @CONSTITUENTID, @RECIPROCALCONSTITUENTID,
@COPYCONTACTINFO, @CHANGEAGENTID, @CURRENTDATE, @SKIP_ADDING_SECURITYGROUPS, @CHANGEAGENTID;
if (@MEMBERSOFSAMEHOUSEHOLD = 1) and (@ISSPOUSE = 0)
exec dbo.USP_RELATIONSHIP_SETUPHOUSEHOLD
@CONSTITUENTID,
@RECIPROCALCONSTITUENTID,
@COPYCONTACTINFO,
@CHANGEAGENTID,
@CURRENTDATE,
@SKIP_ADDING_SECURITYGROUPS,
@CURRENTAPPUSERID,
'753F5883-1BF9-428f-A7D2-866C5CDFAFC1',
0,
1,
1,
0;
if @MEMBERSOFSAMEHOUSEHOLD = 1
begin
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE
@CONSTITUENTID,
@RECIPROCALCONSTITUENTID,
@RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID,
@CHANGEAGENTID,
@CURRENTDATE
end
if @IS_NEW_SPOUSE = 1 and @ISSPOUSE = 1
exec dbo.USP_RELATIONSHIPS_MANAGELIFECHANGES @ID, @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;