USP_DATAFORMTEMPLATE_ADD_ORGTOIND_RELATIONSHIP

The save procedure used by the add dataform template "Relationship Organization to Individual Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CONSTITUENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@RECIPROCALCONSTITUENTID uniqueidentifier IN Related individual
@RECIPROCALTYPECODEID uniqueidentifier IN Reciprocal relationship type
@RELATIONSHIPTYPECODEID uniqueidentifier IN 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_ADD_ORGTOIND_RELATIONSHIP
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @CONSTITUENTID uniqueidentifier,
                        @RECIPROCALCONSTITUENTID uniqueidentifier,
                        @RECIPROCALTYPECODEID uniqueidentifier,
                        @RELATIONSHIPTYPECODEID uniqueidentifier,                
                        @STARTDATE datetime = null,
                        @ENDDATE datetime = null,
                        @ISCONTACT bit = 0,
                        @ISPRIMARYCONTACT bit = 0,
                        @CONTACTTYPECODEID uniqueidentifier = null,
                        @POSITION nvarchar(50) = '',
                        @ISPRIMARYBUSINESS bit = 0,
                        @ISMATCHINGGIFTRELATIONSHIP bit = 0
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        if @ID is null
                            set @ID = newid();

                        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
                                    RELATIONSHIPCONSTITUENTID = @CONSTITUENTID and
                                    RECIPROCALCONSTITUENTID = @RECIPROCALCONSTITUENTID and
                                    ISMATCHINGGIFTRELATIONSHIP = 1;

                            insert into dbo.RELATIONSHIP
                            (
                                ID,
                                RELATIONSHIPCONSTITUENTID,
                                RECIPROCALCONSTITUENTID,
                                RELATIONSHIPTYPECODEID,
                                RECIPROCALTYPECODEID,
                                ISCONTACT,
                                ISPRIMARYCONTACT,
                                CONTACTTYPECODEID,
                                STARTDATE,
                                ENDDATE,
                                POSITION,
                                ISPRIMARYBUSINESS,
                                ISMATCHINGGIFTRELATIONSHIP,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values
                            (
                                @ID,
                                @CONSTITUENTID,
                                @RECIPROCALCONSTITUENTID,
                                @RELATIONSHIPTYPECODEID,
                                @RECIPROCALTYPECODEID,
                                @ISCONTACT,
                                @ISPRIMARYCONTACT,
                                @CONTACTTYPECODEID,
                                @STARTDATE,
                                @ENDDATE,
                                @POSITION,
                                @ISPRIMARYBUSINESS,
                                @ISMATCHINGGIFTRELATIONSHIP,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;