USP_DATAFORM_EDITSAVE_MAILPREFERENCE_6

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID 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
@SENDMAIL bit IN
@DELIVERYMETHODCODE tinyint IN
@CONTACTTYPES xml IN
@ADDRESSID uniqueidentifier IN
@EMAILADDRESSID uniqueidentifier IN
@USESEASONALADDRESS bit IN
@COMMENTS nvarchar(500) IN
@GROUPCONTACTS xml IN
@PURPOSEID uniqueidentifier IN
@DONOTSENDOTHERCHANNEL bit IN
@ISNOPREFERENCE bit IN
@LINKEDCONSTITUENTSOLICITCODEID uniqueidentifier IN
@HASINHERITEDCONSENT bit IN
@SOURCEEVIDENCECODEID uniqueidentifier IN
@SOURCEFILE nvarchar(260) IN
@PRIVACYPOLICY nvarchar(260) IN
@SUPPORTINGINFORMATION nvarchar(max) IN
@CONSENTSTATEMENT nvarchar(max) IN

Definition

Copy


          create procedure dbo.USP_DATAFORM_EDITSAVE_MAILPREFERENCE_6
          (
            @ID uniqueidentifier,
            @CHANGEAGENTID uniqueidentifier,
            @MAILTYPECODE tinyint,
            @ACKNOWLEDGEMENTID uniqueidentifier,
            @CORRESPONDENCEID uniqueidentifier,
            @PLEDGEREMINDERID uniqueidentifier,
            @BUSINESSUNITCODEID uniqueidentifier,
            @CATEGORYCODEID uniqueidentifier,
            @EVENTCATEGORYCODEID uniqueidentifier,
            @SITEID uniqueidentifier,
            @CORRESPONDENCECODEID uniqueidentifier,
            @RECEIPTTYPECODE int,
            @SENDMAIL bit,
            @DELIVERYMETHODCODE tinyint,
            @CONTACTTYPES xml,
            @ADDRESSID uniqueidentifier,
            @EMAILADDRESSID uniqueidentifier,
            @USESEASONALADDRESS bit,
            @COMMENTS nvarchar(500),
            @GROUPCONTACTS xml,
            @PURPOSEID uniqueidentifier,
            @DONOTSENDOTHERCHANNEL bit,
            @ISNOPREFERENCE bit,
            @LINKEDCONSTITUENTSOLICITCODEID uniqueidentifier,
            @HASINHERITEDCONSENT bit,
            @SOURCEEVIDENCECODEID uniqueidentifier,
            @SOURCEFILE nvarchar(260),
            @PRIVACYPOLICY nvarchar(260),
            @SUPPORTINGINFORMATION nvarchar(max),
            @CONSENTSTATEMENT nvarchar(max)
          )
          as
            set nocount on;

            if @ISNOPREFERENCE = 1
            begin
              delete from MAILPREFERENCE where ID = @ID;
              return;
            end

            declare @CURRENTDATE datetime = getdate();

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

            declare @USEPRIMARYADDRESS bit;
            if @ADDRESSID = '00000000-0000-0000-0000-000000000001'
            begin
              set @USEPRIMARYADDRESS = 1;
              set @ADDRESSID = null;
            end
            else
            begin
              set @USEPRIMARYADDRESS = 0;
            end

            declare @USEPRIMARYEMAIL bit;
            if @EMAILADDRESSID='00000000-0000-0000-0000-000000000001'
            begin
              set @USEPRIMARYEMAIL = 1;
              set @EMAILADDRESSID  =null;
            end
            else
            begin
              set @USEPRIMARYEMAIL = 0;
            end

            begin try
              update dbo.MAILPREFERENCE
              set
                MAILTYPECODE = @MAILTYPECODE,
                ACKNOWLEDGEMENTID = @ACKNOWLEDGEMENTID,
                CORRESPONDENCEID = @CORRESPONDENCEID,
                PLEDGEREMINDERID = @PLEDGEREMINDERID,
                BUSINESSUNITCODEID = @BUSINESSUNITCODEID,
                CATEGORYCODEID = @CATEGORYCODEID,
                EVENTCATEGORYCODEID = @EVENTCATEGORYCODEID,
                SITEID = case
                  when @MAILTYPECODE in (1, 2) then @SITEID
                  else null
                end,
                CORRESPONDENCECODEID = @CORRESPONDENCECODEID,
                RECEIPTTYPECODE = @RECEIPTTYPECODE,
                SENDMAIL = @SENDMAIL,
                DELIVERYMETHODCODE = @DELIVERYMETHODCODE,
                ADDRESSID = @ADDRESSID,
                EMAILADDRESSID = @EMAILADDRESSID,
                USESEASONALADDRESS = @USESEASONALADDRESS,
                USEPRIMARYADDRESS = @USEPRIMARYADDRESS,
                USEPRIMARYEMAIL = @USEPRIMARYEMAIL,
                COMMENTS = @COMMENTS,
                PURPOSEID = @PURPOSEID,
                DONOTSENDOTHERCHANNEL = @DONOTSENDOTHERCHANNEL,
                CONSTITUENTSOLICITCODEID = @LINKEDCONSTITUENTSOLICITCODEID,
                HASINHERITEDCONSENT = @HASINHERITEDCONSENT,
                SOURCECODEID = @SOURCEEVIDENCECODEID,
                SOURCEFILEPATH = @SOURCEFILE,
         PRIVACYPOLICYFILEPATH = @PRIVACYPOLICY,
                SUPPORTINGINFORMATION = @SUPPORTINGINFORMATION,
                CONSENTSTATEMENT = @CONSENTSTATEMENT,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
              where ID = @ID;

              exec dbo.USP_MAILPREFERENCE_GETCONTACTTYPES_UPDATEFROMXML @ID, @CONTACTTYPES, @CHANGEAGENTID, @CURRENTDATE;
              exec dbo.USP_MAILPREFERENCE_GETGROUPCONTACTS_UPDATEFROMXML @ID, @GROUPCONTACTS, @CHANGEAGENTID, @CURRENTDATE;
            end try
            begin catch
              exec dbo.USP_RAISE_ERROR;
              return 1;
            end catch

            return 0;