USP_DATAFORM_EDITSAVE_MAILPREFERENCE_2

The save procedure used by the edit dataform template "Mail Preference Edit Form 2".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@MAILTYPECODE tinyint IN Mail type
@ACKNOWLEDGEMENTID uniqueidentifier IN Selected communication
@CORRESPONDENCEID uniqueidentifier IN Selected communication
@PLEDGEREMINDERID uniqueidentifier IN Selected communication
@BUSINESSUNITCODEID uniqueidentifier IN Business unit
@CATEGORYCODEID uniqueidentifier IN Category
@EVENTCATEGORYCODEID uniqueidentifier IN Category
@SITEID uniqueidentifier IN Site
@CORRESPONDENCECODEID uniqueidentifier IN Correspondence code
@RECEIPTTYPECODE int IN Receipt type
@SENDMAIL bit IN Send mail
@DELIVERYMETHODCODE tinyint IN Send by
@CONTACTTYPES xml IN
@ADDRESSID uniqueidentifier IN Selected address
@EMAILADDRESSID uniqueidentifier IN Selected address
@USESEASONALADDRESS bit IN Send to seasonal address when valid
@COMMENTS nvarchar(500) IN Comments
@GROUPCONTACTS xml IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORM_EDITSAVE_MAILPREFERENCE_2(
                        @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
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

                        set @CURRENTDATE = getdate();    

                        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, --JamesWill WI144637 2011-04-07 Don't try to set site unless the preference type supports it

                                CORRESPONDENCECODEID = @CORRESPONDENCECODEID,
                                RECEIPTTYPECODE = @RECEIPTTYPECODE,
                                SENDMAIL = @SENDMAIL,
                                DELIVERYMETHODCODE = @DELIVERYMETHODCODE,
                                ADDRESSID = @ADDRESSID,
                                EMAILADDRESSID = @EMAILADDRESSID,
                                USESEASONALADDRESS = @USESEASONALADDRESS,
                                USEPRIMARYADDRESS = @USEPRIMARYADDRESS,
                                USEPRIMARYEMAIL = @USEPRIMARYEMAIL,
                                COMMENTS = @COMMENTS,
                                ADDEDBYID = @CHANGEAGENTID,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATEADDED = @CURRENTDATE,
                                DATECHANGED = @CURRENTDATE
                            where ID=@ID;

                            exec dbo.USP_MAILPREFERENCE_GETCONTACTTYPES_UPDATEFROMXML @ID, @CONTACTTYPES;
                            exec dbo.USP_MAILPREFERENCE_GETGROUPCONTACTS_UPDATEFROMXML @ID, @GROUPCONTACTS;

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

                        return 0;