USP_BBWORKFLOW_TASK_ADD

Used by the workflow service to add a workflow task to a workflow inbox

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@BBWORKFLOWINSTANCEINFOID uniqueidentifier IN
@WORKFLOWINBOXID uniqueidentifier IN
@TASKSUBJECT nvarchar(255) IN
@TASKDESCRIPTION nvarchar(max) IN
@DATEASSIGNED datetimeoffset IN
@DATEDUE datetimeoffset IN
@CATEGORY nvarchar(50) IN
@HIDDEN bit IN
@USERCANCANCEL bit IN
@USERCANCOMPLETE bit IN
@TASKPAGEID uniqueidentifier IN
@BBWORKFLOWBUSINESSACTIVITYID uniqueidentifier IN
@OWNER_APPUSERID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_BBWORKFLOW_TASK_ADD 

    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @BBWORKFLOWINSTANCEINFOID uniqueidentifier ,
    @WORKFLOWINBOXID uniqueidentifier,
    @TASKSUBJECT nvarchar(255),
    @TASKDESCRIPTION nvarchar(max) = '',
    @DATEASSIGNED datetimeoffset = null,
    @DATEDUE datetimeoffset = null,
    @CATEGORY nvarchar(50) = '',
    @HIDDEN bit = 0,
    @USERCANCANCEL bit = 0,
    @USERCANCOMPLETE bit=0,
    @TASKPAGEID uniqueidentifier = null,
    @BBWORKFLOWBUSINESSACTIVITYID uniqueidentifier = null,
    @OWNER_APPUSERID uniqueidentifier = null

/*
Used by the workflow service to add a workflow task to a workflow inbox
*/

as

set nocount on;

if @ID is null
    set @ID = newid();

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

declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();

if @DATEASSIGNED is null
  set @DATEASSIGNED=getdate();

if @BBWORKFLOWBUSINESSACTIVITYID = '00000000-0000-0000-0000-000000000000' set @BBWORKFLOWBUSINESSACTIVITYID = null;

if @BBWORKFLOWBUSINESSACTIVITYID is not null
BEGIN
  declare @BIZACTIVITY_PARENTWORKFLOWINSTANCEINFOID uniqueidentifier;
  select @BIZACTIVITY_PARENTWORKFLOWINSTANCEINFOID = BBWORKFLOWINSTANCEINFOID from dbo.BBWORKFLOWBUSINESSACTIVITY where ID=@BBWORKFLOWBUSINESSACTIVITYID;
  if @BIZACTIVITY_PARENTWORKFLOWINSTANCEINFOID <> @BBWORKFLOWINSTANCEINFOID
  BEGIN

      RAISERROR('The @BBWORKFLOWBUSINESSACTIVITYID value is not a valid ID for the BBWORKFLOWINSTANCEINFO record',16,10);
    return 500;
  END


END

if @OWNER_APPUSERID = '00000000-0000-0000-0000-000000000000' set @OWNER_APPUSERID = null;

begin try

    insert into dbo.BBWORKFLOWTASK
        (ID, BBWORKFLOWINSTANCEINFOID, BBWORKFLOWINBOXID, TASKSUBJECT, TASKDESCRIPTION,   DATEASSIGNED, DATEDUE,  CATEGORY, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, HIDDEN, USERCANCANCEL, USERCANCOMPLETE, TASKPAGEID, BBWORKFLOWBUSINESSACTIVITYID , OWNER_APPUSERID)
    values
        (@ID, @BBWORKFLOWINSTANCEINFOID, @WORKFLOWINBOXID, @TASKSUBJECT, @TASKDESCRIPTION,  @DATEASSIGNED, @DATEDUE, @CATEGORY,  @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @HIDDEN, @USERCANCANCEL, @USERCANCOMPLETE, @TASKPAGEID, @BBWORKFLOWBUSINESSACTIVITYID, @OWNER_APPUSERID );

        if @HIDDEN = 0 --Do not send emails if the task is hidden

          exec dbo.USP_WORKFLOWTASK_ASSIGNED_ALERT_SEND @ID;

end try

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

return 0;