USP_MARRIAGEOPTIONS_APPLYRULES

Applies marriage rules to a given constituent and it's related records.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@SPOUSEID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN
@UPDATECONSTITUENTMARITALSTATUS bit IN

Definition

Copy


    CREATE procedure dbo.USP_MARRIAGEOPTIONS_APPLYRULES
    (
        @CONSTITUENTID uniqueidentifier,
        @SPOUSEID uniqueidentifier,
        @CHANGEAGENTID uniqueidentifier,
        @CHANGEDATE datetime,
        @UPDATECONSTITUENTMARITALSTATUS bit = 1
    )
    as
    set nocount on;

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

    if @CHANGEDATE is null  
      set @CHANGEDATE = getdate();


    begin try
      declare @SETMARITALSTATUS bit;
      declare @MARITALSTATUSCODEID uniqueidentifier;

      select 
        @SETMARITALSTATUS = SETMARITALSTATUS,
        @MARITALSTATUSCODEID = MARITALSTATUSCODEID
      from dbo.UFN_MARRIAGERULE_GETRULES()

      if @SETMARITALSTATUS = 1
      begin
        if @UPDATECONSTITUENTMARITALSTATUS = 1
          update dbo.CONSTITUENT
          set MARITALSTATUSCODEID = @MARITALSTATUSCODEID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CHANGEDATE
          where ID in (@CONSTITUENTID, @SPOUSEID);
        else
          update dbo.CONSTITUENT
          set MARITALSTATUSCODEID = @MARITALSTATUSCODEID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CHANGEDATE
          where ID = @SPOUSEID;
      end


    end try

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

    return 0;