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;