USP_DATAFORMTEMPLATE_ADD_APPEALMAILINGTASK
The save procedure used by the add dataform template "Appeal Mailing Task Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@MAILINGID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@SUBJECT | nvarchar(100) | IN | Subject |
@NOTES | nvarchar(256) | IN | Notes |
@DATEDUE | UDT_FUZZYDATE | IN | Date due |
@DATECOMPLETED | datetime | IN | Date completed |
@STATUSCODE | tinyint | IN | Status |
@OWNERID | uniqueidentifier | IN | Owner |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SELECTEDMAILINGID | uniqueidentifier | IN | Mailing |
@REMINDERS | xml | IN | Reminders |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_APPEALMAILINGTASK
(
@ID uniqueidentifier = null output,
@MAILINGID uniqueidentifier,
@SUBJECT nvarchar(100),
@NOTES nvarchar(256) = '',
@DATEDUE dbo.UDT_FUZZYDATE = null,
@DATECOMPLETED datetime = null,
@STATUSCODE tinyint = 0,
@OWNERID uniqueidentifier = null,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier,
@SELECTEDMAILINGID uniqueidentifier = null,
@REMINDERS xml = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getDate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
if exists (select top 1 *
from dbo.UFN_APPEALMAILINGTASK_GETREMINDERS_FROMITEMLISTXML(@REMINDERS)
where SENDDATE > dbo.UFN_DATE_LATESTFROMFUZZYDATE(@DATEDUE))
raiserror('ERR_APPEALMAILINGTASKREMINDER_SENDDATEEXCEEDSTASKDATE', 13, 1);
if @MAILINGID = 'e9783844-d09d-4b87-a729-53faeaff7dba'
set @MAILINGID = @SELECTEDMAILINGID;
if @ID is null
set @ID = newID();
insert into dbo.APPEALMAILINGTASK
(
ID,
SEGMENTATIONID,
SUBJECT,
NOTES,
DATEDUE,
DATECOMPLETED,
STATUSCODE,
OWNERID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@MAILINGID,
@SUBJECT,
@NOTES,
@DATEDUE,
@DATECOMPLETED,
@STATUSCODE,
@OWNERID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
-- 'SENT' is not part of the Add's dataform definition. Set it to 0.
set @REMINDERS = (
select
ID,
NAME,
SENDDATE,
0 as SENT
from
dbo.UFN_EVENTTASK_GETREMINDERS_FROMITEMLISTXML(@REMINDERS)
for xml raw('ITEM'), type, elements, root('REMINDERS'), binary base64
);
exec dbo.USP_APPEALMAILINGTASK_GETREMINDERS_ADDFROMXML @ID, @REMINDERS, @CHANGEAGENTID;
if @OWNERID is not null
begin
declare @OWNERAPPUSERID uniqueidentifier;
select
@OWNERAPPUSERID = APPUSER.ID
from
dbo.APPUSER
where
APPUSER.CONSTITUENTID = @OWNERID;
if @OWNERAPPUSERID is not null
exec dbo.USP_ALERTTYPE_SENDTOAPPUSER '280f5cde-64e5-4713-92f3-d72d1fd291a4', @OWNERAPPUSERID, @ID, @MAILINGID;
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;