USP_GLOBALCHANGE_ADDMAILPREFERENCE

Parameters

Parameter Parameter Type Mode Description
@IDSETREGISTERID uniqueidentifier IN
@MAILTYPECODE tinyint IN
@ACKNOWLEDGEMENTID uniqueidentifier IN
@CORRESPONDENCEID uniqueidentifier IN
@PLEDGEREMINDERID uniqueidentifier IN
@BUSINESSUNITCODEID uniqueidentifier IN
@CATEGORYCODEID uniqueidentifier IN
@EVENTCATEGORYCODEID uniqueidentifier IN
@SITEID uniqueidentifier IN
@CORRESPONDENCECODEID uniqueidentifier IN
@RECEIPTTYPECODE int IN
@PURPOSEID uniqueidentifier IN
@SENDMAIL bit IN
@DELIVERYMETHODCODE tinyint IN
@USESEASONALADDRESS bit IN
@COMMENTS nvarchar(500) IN
@CHANGEAGENTID uniqueidentifier IN
@ASOF datetime IN
@NUMBERADDED int INOUT
@NUMBEREDITED int INOUT
@NUMBERDELETED int INOUT
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_GLOBALCHANGE_ADDMAILPREFERENCE
            (
                @IDSETREGISTERID uniqueidentifier = null
                @MAILTYPECODE tinyint = null,
                @ACKNOWLEDGEMENTID uniqueidentifier = null,
                @CORRESPONDENCEID uniqueidentifier = null,
                @PLEDGEREMINDERID uniqueidentifier = null,
                @BUSINESSUNITCODEID uniqueidentifier = null,
                @CATEGORYCODEID uniqueidentifier = null,
                @EVENTCATEGORYCODEID uniqueidentifier = null,
                @SITEID uniqueidentifier = null,
                @CORRESPONDENCECODEID uniqueidentifier = null,
                @RECEIPTTYPECODE int = 0,
                @PURPOSEID uniqueidentifier = null,
                @SENDMAIL bit = 1,
                @DELIVERYMETHODCODE tinyint = 0,
                @USESEASONALADDRESS bit = 1,
                @COMMENTS nvarchar(500) = '',
                @CHANGEAGENTID uniqueidentifier = null,
                @ASOF as datetime = null,
                @NUMBERADDED int = 0 output,
                @NUMBEREDITED int = 0 output,
                @NUMBERDELETED int = 0 output,
                @CURRENTAPPUSERID uniqueidentifier = null
            )
            as
                set nocount off;

                declare @CURRENTDATE datetime = getdate();
                set @NUMBERADDED = 0;
                set @NUMBEREDITED = 0;
                set @NUMBERDELETED = 0
                declare @BPID uniqueidentifier = '3269A1D1-31CB-4D28-945C-B7623A3EFCCA';

                declare @BYPASSSECURITY bit;
                declare @BYPASSSITESECURITY bit;                
                exec dbo.USP_SECURITY_APPUSER_BYPASSSECURITYFORBUSINESSPROCESS @CURRENTAPPUSERID, @BPID, @BYPASSSECURITY output, @BYPASSSITESECURITY output;                

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

                declare @USEPRIMARYADDRESS bit
                set @USEPRIMARYADDRESS = 0
                declare @USEPRIMARYEMAIL bit
                set @USEPRIMARYEMAIL = 0

                if @SENDMAIL = 1
                    begin
                        if @DELIVERYMETHODCODE=0
                            begin
                                set @USEPRIMARYADDRESS=1            
                            end

                        if @DELIVERYMETHODCODE=1
                            begin
                                set @USEPRIMARYEMAIL=1
                            end
                    end

                declare @SELECTION table (ID uniqueidentifier not null primary key)
                begin try

                    insert into @SELECTION(ID)
                        select ID from dbo.UFN_CONSTITUENT_GETRECORDSINSELECTION_FORBUSINESSPROCESS(@CURRENTAPPUSERID, @IDSETREGISTERID, @BPID, @BYPASSSECURITY, @BYPASSSITESECURITY);

                    insert into dbo.MAILPREFERENCE(
                        ID, 
                        CONSTITUENTID, 
                        MAILTYPECODE, 
                        ACKNOWLEDGEMENTID, 
                        CORRESPONDENCEID, 
                        PLEDGEREMINDERID,
                        BUSINESSUNITCODEID, 
                        CATEGORYCODEID, 
                        EVENTCATEGORYCODEID, 
                        SITEID, 
                        CORRESPONDENCECODEID,
                        RECEIPTTYPECODE, 
                        SENDMAIL, 
                        DELIVERYMETHODCODE, 
                        ADDRESSID, 
                        EMAILADDRESSID, 
                        USESEASONALADDRESS,
                        USEPRIMARYADDRESS, 
                        USEPRIMARYEMAIL, 
                        COMMENTS, 
                        PURPOSEID, 
                        ADDEDBYID, 
                        CHANGEDBYID, 
                        DATEADDED, 
                        DATECHANGED
                    )
                    select                    
                        newid(),
                        selection.ID, 
                        @MAILTYPECODE
                        @ACKNOWLEDGEMENTID
                        @CORRESPONDENCEID
                        @PLEDGEREMINDERID,                        
                        @BUSINESSUNITCODEID
                        @CATEGORYCODEID
                        @EVENTCATEGORYCODEID
                        @SITEID
                        @CORRESPONDENCECODEID,
                        @RECEIPTTYPECODE
                        @SENDMAIL,
                        @DELIVERYMETHODCODE
                        null
                        null
                        @USESEASONALADDRESS,
                        @USEPRIMARYADDRESS
                        @USEPRIMARYEMAIL,
                        @COMMENTS
                        @PURPOSEID
                        @CHANGEAGENTID
                        @CHANGEAGENTID
                        @CURRENTDATE
                        @CURRENTDATE
                    from 
                        @SELECTION selection
                    where dbo.UFN_MAILPREFERENCE_VALIDATEUNIQUE(null, selection.ID, @MAILTYPECODE, @BUSINESSUNITCODEID
                                                                @CATEGORYCODEID, @EVENTCATEGORYCODEID, @SITEID
                                                                @ACKNOWLEDGEMENTID, @CORRESPONDENCEID, @PLEDGEREMINDERID
                                                                @CORRESPONDENCECODEID, @PURPOSEID) = 1

                    set @NUMBERADDED = @@ROWCOUNT

                end try

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