USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_INDTOORG
The save procedure used by the edit dataform template "Relationship Individual to Organization Edit Form".
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 |
@ISCONTACT | bit | IN | The individual is a contact for this organization |
@ISPRIMARYCONTACT | bit | IN | Primary contact |
@CONTACTTYPECODEID | uniqueidentifier | IN | Contact type |
@POSITION | nvarchar(50) | IN | Position |
@ISPRIMARYBUSINESS | bit | IN | Primary Business |
@ISMATCHINGGIFTRELATIONSHIP | bit | IN | Matching gift relationship |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_INDTOORG
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@RELATIONSHIPTYPECODEID uniqueidentifier,
@RECIPROCALTYPECODEID uniqueidentifier,
@STARTDATE datetime,
@ENDDATE datetime,
@ISCONTACT bit,
@ISPRIMARYCONTACT bit,
@CONTACTTYPECODEID uniqueidentifier,
@POSITION nvarchar(50),
@ISPRIMARYBUSINESS bit,
@ISMATCHINGGIFTRELATIONSHIP bit
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
if @ISMATCHINGGIFTRELATIONSHIP = 1
update
dbo.RELATIONSHIP
set
ISMATCHINGGIFTRELATIONSHIP = 0,
DATECHANGED = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID
where
ID in (
select
TOUPDATE.ID
from
dbo.RELATIONSHIP TOUPDATE
left join
dbo.RELATIONSHIP
on
RELATIONSHIP.ID = @ID
where
TOUPDATE.RELATIONSHIPCONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID and
TOUPDATE.RECIPROCALCONSTITUENTID = RELATIONSHIP.RECIPROCALCONSTITUENTID and
TOUPDATE.ISMATCHINGGIFTRELATIONSHIP = 1 and
TOUPDATE.ID <> RELATIONSHIP.ID)
update
DBO.RELATIONSHIP
set
RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
STARTDATE = @STARTDATE,
ENDDATE = @ENDDATE,
ISCONTACT = @ISCONTACT,
ISPRIMARYCONTACT = @ISPRIMARYCONTACT,
POSITION = @POSITION,
CONTACTTYPECODEID = @CONTACTTYPECODEID,
ISPRIMARYBUSINESS = @ISPRIMARYBUSINESS,
ISMATCHINGGIFTRELATIONSHIP = @ISMATCHINGGIFTRELATIONSHIP,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;