USP_CONSTITUENTDATAREVIEW_EMAILADDRESS_LOADAUDITDATA

Loads an email address's data from an audit record.

Parameters

Parameter Parameter Type Mode Description
@AUDITID uniqueidentifier IN
@DATALOADED bit INOUT
@EMAILADDRESSID uniqueidentifier INOUT
@CONSTITUENTID uniqueidentifier INOUT
@EMAILADDRESSTYPECODEID uniqueidentifier INOUT
@EMAILADDRESS UDT_EMAILADDRESS INOUT
@PRIMARY bit INOUT
@DONOTEMAIL bit INOUT
@SPOUSENAME nvarchar(154) INOUT
@SPOUSEHASMATCHINGEMAILADDRESS bit INOUT
@UPDATEMATCHINGSPOUSEEMAILADDRESS bit INOUT
@UPDATEMATCHINGHOUSEHOLDEMAILADDRESS bit INOUT
@INFOSOURCECODEID uniqueidentifier INOUT
@INFOSOURCECOMMENTS nvarchar(256) INOUT
@ORIGINCODE tinyint INOUT
@STARTDATE date INOUT
@ENDDATE date INOUT
@EMAILISCONFIDENTIAL bit INOUT

Definition

Copy


CREATE procedure dbo.USP_CONSTITUENTDATAREVIEW_EMAILADDRESS_LOADAUDITDATA (
    @AUDITID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @EMAILADDRESSID uniqueidentifier = null output,
    @CONSTITUENTID uniqueidentifier = null output,
    @EMAILADDRESSTYPECODEID uniqueidentifier = null output,
    @EMAILADDRESS dbo.UDT_EMAILADDRESS = null output,
  @PRIMARY bit = null output,
    @DONOTEMAIL bit = null output,
    @SPOUSENAME nvarchar(154) = null output,
    @SPOUSEHASMATCHINGEMAILADDRESS bit = null output,
    @UPDATEMATCHINGSPOUSEEMAILADDRESS bit = null output,
    @UPDATEMATCHINGHOUSEHOLDEMAILADDRESS bit = null output,
    @INFOSOURCECODEID uniqueidentifier = null output,
    @INFOSOURCECOMMENTS nvarchar(256) = null output,
    @ORIGINCODE tinyint = null output,
  @STARTDATE date = null output,
  @ENDDATE date = null output,
    @EMAILISCONFIDENTIAL bit = null output
)
as
begin
    set nocount on;

    declare @SPOUSEID uniqueidentifier;

    set @DATALOADED = 0;
    set @SPOUSEHASMATCHINGEMAILADDRESS = 0;
    set @UPDATEMATCHINGSPOUSEEMAILADDRESS = 0;

    if exists(select object_id from sys.objects where type = 'U' and name = 'RELATIONSHIP') begin
        select
            @DATALOADED = 1,
            @EMAILADDRESSID = EMAILADDRESSAUDIT.AUDITRECORDID,
            @CONSTITUENTID = EMAILADDRESSAUDIT.CONSTITUENTID,
            @EMAILADDRESSTYPECODEID = EMAILADDRESSAUDIT.EMAILADDRESSTYPECODEID,
            @EMAILADDRESS = EMAILADDRESSAUDIT.EMAILADDRESS,
            @PRIMARY = EMAILADDRESSAUDIT.ISPRIMARY,
            @DONOTEMAIL = EMAILADDRESSAUDIT.DONOTEMAIL,
            @INFOSOURCECODEID = EMAILADDRESSAUDIT.INFOSOURCECODEID,
            @INFOSOURCECOMMENTS = EMAILADDRESSAUDIT.INFOSOURCECOMMENTS,
            @ORIGINCODE = EMAILADDRESSAUDIT.ORIGINCODE,
            @SPOUSEID = SPOUSE.ID,
            @SPOUSENAME = SPOUSE.NAME,
      @STARTDATE = EMAILADDRESSAUDIT.STARTDATE,
      @ENDDATE = EMAILADDRESSAUDIT.ENDDATE,
            @EMAILISCONFIDENTIAL = EMAILADDRESSAUDIT.ISCONFIDENTIAL
        from 
            dbo.EMAILADDRESSAUDIT
            left join dbo.RELATIONSHIP on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = EMAILADDRESSAUDIT.CONSTITUENTID and RELATIONSHIP.ISSPOUSE = 1
            left join dbo.CONSTITUENT as SPOUSE on SPOUSE.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
        where 
            EMAILADDRESSAUDIT.AUDITID = @AUDITID;

        if exists (
            select EMAILADDRESS.ID
            from dbo.EMAILADDRESS
            where
                EMAILADDRESS.CONSTITUENTID = @SPOUSEID and
                EMAILADDRESS.EMAILADDRESS = @EMAILADDRESS
            ) begin
                set @SPOUSEHASMATCHINGEMAILADDRESS = 1;    
                set @UPDATEMATCHINGSPOUSEEMAILADDRESS = 1;
        end
    end
    else begin
        select
            @DATALOADED = 1,
            @EMAILADDRESSID = EMAILADDRESSAUDIT.AUDITRECORDID,
            @CONSTITUENTID = EMAILADDRESSAUDIT.CONSTITUENTID,
            @EMAILADDRESSTYPECODEID = EMAILADDRESSAUDIT.EMAILADDRESSTYPECODEID,
            @EMAILADDRESS = EMAILADDRESSAUDIT.EMAILADDRESS,
            @PRIMARY = EMAILADDRESSAUDIT.ISPRIMARY,
            @DONOTEMAIL = EMAILADDRESSAUDIT.DONOTEMAIL,
            @INFOSOURCECODEID = EMAILADDRESSAUDIT.INFOSOURCECODEID,
            @INFOSOURCECOMMENTS = EMAILADDRESSAUDIT.INFOSOURCECOMMENTS,
            @ORIGINCODE = EMAILADDRESSAUDIT.ORIGINCODE,
      @STARTDATE = EMAILADDRESSAUDIT.STARTDATE,
      @ENDDATE = EMAILADDRESSAUDIT.ENDDATE,
            @EMAILISCONFIDENTIAL = EMAILADDRESSAUDIT.ISCONFIDENTIAL
        from
            dbo.EMAILADDRESSAUDIT
        where
            EMAILADDRESSAUDIT.AUDITID = @AUDITID;
    end

    return 0;
end