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;