USP_DATAFORMTEMPLATE_EDIT_APPEALMAILINGTASK_2
The save procedure used by the edit dataform template "Appeal Mailing Task Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@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. |
@REMINDERS | xml | IN | Reminders |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_APPEALMAILINGTASK_2
(
@ID uniqueidentifier,
@SUBJECT nvarchar(100),
@NOTES nvarchar(256),
@DATEDUE dbo.UDT_FUZZYDATE,
@DATECOMPLETED datetime,
@STATUSCODE tinyint,
@OWNERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier,
@REMINDERS xml
)
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);
declare @PREVIOUSOWNERID uniqueidentifier;
select
@PREVIOUSOWNERID = OWNERID
from
dbo.APPEALMAILINGTASK
where
ID = @ID;
update dbo.APPEALMAILINGTASK
set
SUBJECT = @SUBJECT,
NOTES = @NOTES,
DATEDUE = @DATEDUE,
DATECOMPLETED = @DATECOMPLETED,
STATUSCODE = @STATUSCODE,
OWNERID = @OWNERID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
exec dbo.USP_APPEALMAILINGTASK_GETREMINDERS_UPDATEFROMXML @ID, @REMINDERS, @CHANGEAGENTID;
if (@PREVIOUSOWNERID is null) or (@OWNERID <> @PREVIOUSOWNERID)
begin
declare @OWNERAPPUSERID uniqueidentifier;
select
@OWNERAPPUSERID = APPUSER.ID
from
dbo.APPUSER
where
APPUSER.CONSTITUENTID = @OWNERID;
declare @SEGMENTATIONID uniqueidentifier;
select
@SEGMENTATIONID = SEGMENTATIONID
from
dbo.APPEALMAILINGTASK
where
ID = @ID;
if @OWNERAPPUSERID is not null
exec dbo.USP_ALERTTYPE_SENDTOAPPUSER '280f5cde-64e5-4713-92f3-d72d1fd291a4', @OWNERAPPUSERID, @ID, @SEGMENTATIONID;
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;