USP_DATAFORMTEMPLATE_ADD_INDTOIND_RELATIONSHIP_2

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

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 constituent
@RECIPROCALTYPECODEID uniqueidentifier IN Reciprocal relationship type
@RELATIONSHIPTYPECODEID uniqueidentifier IN 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
@COPYCONTACTINFO bit IN Copy primary contact information
@SKIP_ADDING_SECURITYGROUPS bit IN Skip adding security groups
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@KEYNAME nvarchar(100) IN Last name
@FIRSTNAME nvarchar(50) IN First name
@SKIP_ADDING_SITES bit IN Skip adding sites
@MEMBERSOFSAMEHOUSEHOLD bit IN These individuals are members of the same household

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_INDTOIND_RELATIONSHIP_2
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,    
  @CONSTITUENTID uniqueidentifier,
  @RECIPROCALCONSTITUENTID uniqueidentifier = null,
  @RECIPROCALTYPECODEID uniqueidentifier,
  @RELATIONSHIPTYPECODEID uniqueidentifier,
  @STARTDATE datetime = null,
  @ENDDATE datetime = null,
  @ISSPOUSE bit = 0,
  @PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = 0,
  @PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
  @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = 0,
  @RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
  @PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null,
  @RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null,
  @COPYCONTACTINFO bit = 0,
  @SKIP_ADDING_SECURITYGROUPS bit=0,
  @CURRENTAPPUSERID uniqueidentifier,
  @KEYNAME nvarchar(100),
  @FIRSTNAME nvarchar(50) = null,
  @SKIP_ADDING_SITES bit = 0,
  @MEMBERSOFSAMEHOUSEHOLD bit = 0
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

  if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

  set @CURRENTDATE = getdate();

  begin try
    if @RECIPROCALCONSTITUENTID is null
    begin
      set @RECIPROCALCONSTITUENTID = newid();

      insert into dbo.CONSTITUENT(ID,KEYNAME,FIRSTNAME,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
        values (@RECIPROCALCONSTITUENTID,@KEYNAME,@FIRSTNAME,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

      if coalesce(@SKIP_ADDING_SECURITYGROUPS,0) = 0
      begin
        exec dbo.USP_CONSTITUENT_ASSIGNSECURITYGROUPS_FORNEWRECORD
            @APPUSERID = @CURRENTAPPUSERID,
            @DATAFORMTEMPLATEID = 'E373565E-3946-4C37-8875-50C362FCEC52',
            @CONSTITUENTID = @RECIPROCALCONSTITUENTID,
            @DATEADDEDTOUSE = @CURRENTDATE,
            @CHANGEAGENTID = @CHANGEAGENTID;
      end

      if coalesce(@SKIP_ADDING_SITES,0) = 0
        exec dbo.USP_CONSTITUENT_ASSIGNSITES_FORNEWRECORD
          @APPUSERID = @CURRENTAPPUSERID,
          @DATAFORMTEMPLATEID = 'E373565E-3946-4C37-8875-50C362FCEC52',
          @CONSTITUENTID = @RECIPROCALCONSTITUENTID,
          @DATEADDEDTOUSE = @CURRENTDATE,
          @CHANGEAGENTID = @CHANGEAGENTID;

    end

    declare @SETID uniqueidentifier = newid();

    insert into dbo.RELATIONSHIPSET
    (
      ID,
      ADDEDBYID,
      CHANGEDBYID,
      DATEADDED,
      DATECHANGED
    )
    values
    (
      @SETID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    insert into dbo.RELATIONSHIP
    (
      ID,
      RELATIONSHIPCONSTITUENTID,
      RECIPROCALCONSTITUENTID,
      RELATIONSHIPTYPECODEID,
      RECIPROCALTYPECODEID,
      ISSPOUSE,
      STARTDATE,
      ENDDATE,
      RELATIONSHIPSETID,
      ADDEDBYID,
      CHANGEDBYID,
      DATEADDED,
      DATECHANGED
    )
    values
    (
      @ID,
      @CONSTITUENTID,
      @RECIPROCALCONSTITUENTID,
      @RELATIONSHIPTYPECODEID,
      @RECIPROCALTYPECODEID,
      @ISSPOUSE,
      @STARTDATE,
      @ENDDATE,
      @SETID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );


    exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @CONSTITUENTID, @RECIPROCALCONSTITUENTID,
      @STARTDATE, @ENDDATE, @PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR,
      @PRIMARYRECOGNITIONTYPECODEID, @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS
      @RECIPROCALSOFTCREDITMATCHFACTOR, @RECIPROCALRECOGNITIONTYPECODEID, @CHANGEAGENTID;

    if @ISSPOUSE = 1
      exec dbo.USP_SPOUSERELATIONSHIP_SETUPHOUSEHOLD @CONSTITUENTID, @RECIPROCALCONSTITUENTID
        @COPYCONTACTINFO, @CHANGEAGENTID, @CURRENTDATE,    @SKIP_ADDING_SECURITYGROUPS,@CURRENTAPPUSERID;

    if (@MEMBERSOFSAMEHOUSEHOLD = 1) and (@ISSPOUSE = 0)
      exec dbo.USP_RELATIONSHIP_SETUPHOUSEHOLD @CONSTITUENTID, @RECIPROCALCONSTITUENTID
        @COPYCONTACTINFO, @CHANGEAGENTID, @CURRENTDATE,    @SKIP_ADDING_SECURITYGROUPS,@CURRENTAPPUSERID,'E373565E-3946-4C37-8875-50C362FCEC52', @SKIP_ADDING_SITES;

    exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @RELATIONSHIPTYPECODEID, @RECIPROCALTYPECODEID, @CHANGEAGENTID, @CURRENTDATE

    if @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;