DigiOffice API Services Services

<back to all web services

GetMultiTaskOperation

Get a multitask.

Requires Authentication
The following routes are available for this service:
POST/api/workflowmultitasks
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class WorkflowTaskActionDTO implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $BeginGroup=null,
        /** @var string|null */
        public ?string $DigiOfficeIcon=null,
        /** @var bool|null */
        public ?bool $Enabled=null,
        /** @var string|null */
        public ?string $FontAwesomeIcon=null,
        /** @var string|null */
        public ?string $Hint=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var bool|null */
        public ?bool $ShowTextForRootItems=null,
        /** @var string|null */
        public ?string $Text=null,
        /** @var string|null */
        public ?string $Url=null,
        /** @var array<WorkflowTaskActionDTO>|null */
        public ?array $Items=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['BeginGroup'])) $this->BeginGroup = $o['BeginGroup'];
        if (isset($o['DigiOfficeIcon'])) $this->DigiOfficeIcon = $o['DigiOfficeIcon'];
        if (isset($o['Enabled'])) $this->Enabled = $o['Enabled'];
        if (isset($o['FontAwesomeIcon'])) $this->FontAwesomeIcon = $o['FontAwesomeIcon'];
        if (isset($o['Hint'])) $this->Hint = $o['Hint'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['ShowTextForRootItems'])) $this->ShowTextForRootItems = $o['ShowTextForRootItems'];
        if (isset($o['Text'])) $this->Text = $o['Text'];
        if (isset($o['Url'])) $this->Url = $o['Url'];
        if (isset($o['Items'])) $this->Items = JsonConverters::fromArray('WorkflowTaskActionDTO', $o['Items']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->BeginGroup)) $o['BeginGroup'] = $this->BeginGroup;
        if (isset($this->DigiOfficeIcon)) $o['DigiOfficeIcon'] = $this->DigiOfficeIcon;
        if (isset($this->Enabled)) $o['Enabled'] = $this->Enabled;
        if (isset($this->FontAwesomeIcon)) $o['FontAwesomeIcon'] = $this->FontAwesomeIcon;
        if (isset($this->Hint)) $o['Hint'] = $this->Hint;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->ShowTextForRootItems)) $o['ShowTextForRootItems'] = $this->ShowTextForRootItems;
        if (isset($this->Text)) $o['Text'] = $this->Text;
        if (isset($this->Url)) $o['Url'] = $this->Url;
        if (isset($this->Items)) $o['Items'] = JsonConverters::toArray('WorkflowTaskActionDTO', $this->Items);
        return empty($o) ? new class(){} : $o;
    }
}

class WorkflowTaskDTO implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ID=0,
        /** @var string|null */
        public ?string $Name=null,
        /** @var int */
        public int $WorkflowID=0,
        /** @var string|null */
        public ?string $WorkflowDescription=null,
        /** @var int */
        public int $RootWorkflowID=0,
        /** @var string */
        public string $TransitionID='',
        /** @var string|null */
        public ?string $TransitionName=null,
        /** @var string|null */
        public ?string $ActivationID=null,
        /** @var int */
        public int $TypeID=0,
        /** @var string|null */
        public ?string $TypeDescription=null,
        /** @var int */
        public int $StatusID=0,
        /** @var string|null */
        public ?string $StatusDescription=null,
        /** @var int|null */
        public ?int $UserID=null,
        /** @var bool|null */
        public ?bool $Active=null,
        /** @var DateTime|null */
        public ?DateTime $OfferedDate=null,
        /** @var DateTime|null */
        public ?DateTime $AssignedDate=null,
        /** @var DateTime|null */
        public ?DateTime $StartDate=null,
        /** @var DateTime|null */
        public ?DateTime $ExpirationDate=null,
        /** @var int */
        public int $Order=0,
        /** @var float|null */
        public ?float $Progress=null,
        /** @var DateTime|null */
        public ?DateTime $FinishedDate=null,
        /** @var int|null */
        public ?int $FinishedByUserID=null,
        /** @var string|null */
        public ?string $FinishedDocumentID=null,
        /** @var bool|null */
        public ?bool $Read=null,
        /** @var DateTime|null */
        public ?DateTime $DeferDate=null,
        /** @var string|null */
        public ?string $DeferReason=null,
        /** @var string|null */
        public ?string $Reason=null,
        /** @var bool|null */
        public ?bool $Urgent=null,
        /** @var string|null */
        public ?string $Status=null,
        /** @var array<WorkflowTaskActionDTO>|null */
        public ?array $AvailableActions=null,
        /** @var array<WorkflowTaskActionDTO>|null */
        public ?array $FinishActions=null,
        /** @var array<WorkflowTaskActionDTO>|null */
        public ?array $CommentActions=null,
        /** @var array<WorkflowTaskActionDTO>|null */
        public ?array $DocumentActions=null,
        /** @var int */
        public int $NumberOfComments=0,
        /** @var string|null */
        public ?string $RelativeDetailLink=null,
        /** @var int */
        public int $FirstSideStepID=0,
        /** @var string|null */
        public ?string $FirstSideStepOmschr=null,
        /** @var string|null */
        public ?string $FirstSideStepDetailLink=null,
        /** @var int|null */
        public ?int $IsSideStepOfWorkflowID=null,
        /** @var string|null */
        public ?string $IsSideStepOfWorkflowOmschr=null,
        /** @var string|null */
        public ?string $IsSideStepOfWorkflowDetailLink=null,
        /** @var int|null */
        public ?int $IsSideStepOfTaskID=null,
        /** @var string|null */
        public ?string $IsSideStepOfTaskOmschr=null,
        /** @var string|null */
        public ?string $IsSideStepOfTaskDetailLink=null,
        /** @var int|null */
        public ?int $IsObservedID=null,
        /** @var string|null */
        public ?string $IsObservedOmschr=null,
        /** @var string|null */
        public ?string $IsObservedDetailLink=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['WorkflowID'])) $this->WorkflowID = $o['WorkflowID'];
        if (isset($o['WorkflowDescription'])) $this->WorkflowDescription = $o['WorkflowDescription'];
        if (isset($o['RootWorkflowID'])) $this->RootWorkflowID = $o['RootWorkflowID'];
        if (isset($o['TransitionID'])) $this->TransitionID = $o['TransitionID'];
        if (isset($o['TransitionName'])) $this->TransitionName = $o['TransitionName'];
        if (isset($o['ActivationID'])) $this->ActivationID = $o['ActivationID'];
        if (isset($o['TypeID'])) $this->TypeID = $o['TypeID'];
        if (isset($o['TypeDescription'])) $this->TypeDescription = $o['TypeDescription'];
        if (isset($o['StatusID'])) $this->StatusID = $o['StatusID'];
        if (isset($o['StatusDescription'])) $this->StatusDescription = $o['StatusDescription'];
        if (isset($o['UserID'])) $this->UserID = $o['UserID'];
        if (isset($o['Active'])) $this->Active = $o['Active'];
        if (isset($o['OfferedDate'])) $this->OfferedDate = JsonConverters::from('DateTime', $o['OfferedDate']);
        if (isset($o['AssignedDate'])) $this->AssignedDate = JsonConverters::from('DateTime', $o['AssignedDate']);
        if (isset($o['StartDate'])) $this->StartDate = JsonConverters::from('DateTime', $o['StartDate']);
        if (isset($o['ExpirationDate'])) $this->ExpirationDate = JsonConverters::from('DateTime', $o['ExpirationDate']);
        if (isset($o['Order'])) $this->Order = $o['Order'];
        if (isset($o['Progress'])) $this->Progress = $o['Progress'];
        if (isset($o['FinishedDate'])) $this->FinishedDate = JsonConverters::from('DateTime', $o['FinishedDate']);
        if (isset($o['FinishedByUserID'])) $this->FinishedByUserID = $o['FinishedByUserID'];
        if (isset($o['FinishedDocumentID'])) $this->FinishedDocumentID = $o['FinishedDocumentID'];
        if (isset($o['Read'])) $this->Read = $o['Read'];
        if (isset($o['DeferDate'])) $this->DeferDate = JsonConverters::from('DateTime', $o['DeferDate']);
        if (isset($o['DeferReason'])) $this->DeferReason = $o['DeferReason'];
        if (isset($o['Reason'])) $this->Reason = $o['Reason'];
        if (isset($o['Urgent'])) $this->Urgent = $o['Urgent'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['AvailableActions'])) $this->AvailableActions = JsonConverters::fromArray('WorkflowTaskActionDTO', $o['AvailableActions']);
        if (isset($o['FinishActions'])) $this->FinishActions = JsonConverters::fromArray('WorkflowTaskActionDTO', $o['FinishActions']);
        if (isset($o['CommentActions'])) $this->CommentActions = JsonConverters::fromArray('WorkflowTaskActionDTO', $o['CommentActions']);
        if (isset($o['DocumentActions'])) $this->DocumentActions = JsonConverters::fromArray('WorkflowTaskActionDTO', $o['DocumentActions']);
        if (isset($o['NumberOfComments'])) $this->NumberOfComments = $o['NumberOfComments'];
        if (isset($o['RelativeDetailLink'])) $this->RelativeDetailLink = $o['RelativeDetailLink'];
        if (isset($o['FirstSideStepID'])) $this->FirstSideStepID = $o['FirstSideStepID'];
        if (isset($o['FirstSideStepOmschr'])) $this->FirstSideStepOmschr = $o['FirstSideStepOmschr'];
        if (isset($o['FirstSideStepDetailLink'])) $this->FirstSideStepDetailLink = $o['FirstSideStepDetailLink'];
        if (isset($o['IsSideStepOfWorkflowID'])) $this->IsSideStepOfWorkflowID = $o['IsSideStepOfWorkflowID'];
        if (isset($o['IsSideStepOfWorkflowOmschr'])) $this->IsSideStepOfWorkflowOmschr = $o['IsSideStepOfWorkflowOmschr'];
        if (isset($o['IsSideStepOfWorkflowDetailLink'])) $this->IsSideStepOfWorkflowDetailLink = $o['IsSideStepOfWorkflowDetailLink'];
        if (isset($o['IsSideStepOfTaskID'])) $this->IsSideStepOfTaskID = $o['IsSideStepOfTaskID'];
        if (isset($o['IsSideStepOfTaskOmschr'])) $this->IsSideStepOfTaskOmschr = $o['IsSideStepOfTaskOmschr'];
        if (isset($o['IsSideStepOfTaskDetailLink'])) $this->IsSideStepOfTaskDetailLink = $o['IsSideStepOfTaskDetailLink'];
        if (isset($o['IsObservedID'])) $this->IsObservedID = $o['IsObservedID'];
        if (isset($o['IsObservedOmschr'])) $this->IsObservedOmschr = $o['IsObservedOmschr'];
        if (isset($o['IsObservedDetailLink'])) $this->IsObservedDetailLink = $o['IsObservedDetailLink'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->WorkflowID)) $o['WorkflowID'] = $this->WorkflowID;
        if (isset($this->WorkflowDescription)) $o['WorkflowDescription'] = $this->WorkflowDescription;
        if (isset($this->RootWorkflowID)) $o['RootWorkflowID'] = $this->RootWorkflowID;
        if (isset($this->TransitionID)) $o['TransitionID'] = $this->TransitionID;
        if (isset($this->TransitionName)) $o['TransitionName'] = $this->TransitionName;
        if (isset($this->ActivationID)) $o['ActivationID'] = $this->ActivationID;
        if (isset($this->TypeID)) $o['TypeID'] = $this->TypeID;
        if (isset($this->TypeDescription)) $o['TypeDescription'] = $this->TypeDescription;
        if (isset($this->StatusID)) $o['StatusID'] = $this->StatusID;
        if (isset($this->StatusDescription)) $o['StatusDescription'] = $this->StatusDescription;
        if (isset($this->UserID)) $o['UserID'] = $this->UserID;
        if (isset($this->Active)) $o['Active'] = $this->Active;
        if (isset($this->OfferedDate)) $o['OfferedDate'] = JsonConverters::to('DateTime', $this->OfferedDate);
        if (isset($this->AssignedDate)) $o['AssignedDate'] = JsonConverters::to('DateTime', $this->AssignedDate);
        if (isset($this->StartDate)) $o['StartDate'] = JsonConverters::to('DateTime', $this->StartDate);
        if (isset($this->ExpirationDate)) $o['ExpirationDate'] = JsonConverters::to('DateTime', $this->ExpirationDate);
        if (isset($this->Order)) $o['Order'] = $this->Order;
        if (isset($this->Progress)) $o['Progress'] = $this->Progress;
        if (isset($this->FinishedDate)) $o['FinishedDate'] = JsonConverters::to('DateTime', $this->FinishedDate);
        if (isset($this->FinishedByUserID)) $o['FinishedByUserID'] = $this->FinishedByUserID;
        if (isset($this->FinishedDocumentID)) $o['FinishedDocumentID'] = $this->FinishedDocumentID;
        if (isset($this->Read)) $o['Read'] = $this->Read;
        if (isset($this->DeferDate)) $o['DeferDate'] = JsonConverters::to('DateTime', $this->DeferDate);
        if (isset($this->DeferReason)) $o['DeferReason'] = $this->DeferReason;
        if (isset($this->Reason)) $o['Reason'] = $this->Reason;
        if (isset($this->Urgent)) $o['Urgent'] = $this->Urgent;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->AvailableActions)) $o['AvailableActions'] = JsonConverters::toArray('WorkflowTaskActionDTO', $this->AvailableActions);
        if (isset($this->FinishActions)) $o['FinishActions'] = JsonConverters::toArray('WorkflowTaskActionDTO', $this->FinishActions);
        if (isset($this->CommentActions)) $o['CommentActions'] = JsonConverters::toArray('WorkflowTaskActionDTO', $this->CommentActions);
        if (isset($this->DocumentActions)) $o['DocumentActions'] = JsonConverters::toArray('WorkflowTaskActionDTO', $this->DocumentActions);
        if (isset($this->NumberOfComments)) $o['NumberOfComments'] = $this->NumberOfComments;
        if (isset($this->RelativeDetailLink)) $o['RelativeDetailLink'] = $this->RelativeDetailLink;
        if (isset($this->FirstSideStepID)) $o['FirstSideStepID'] = $this->FirstSideStepID;
        if (isset($this->FirstSideStepOmschr)) $o['FirstSideStepOmschr'] = $this->FirstSideStepOmschr;
        if (isset($this->FirstSideStepDetailLink)) $o['FirstSideStepDetailLink'] = $this->FirstSideStepDetailLink;
        if (isset($this->IsSideStepOfWorkflowID)) $o['IsSideStepOfWorkflowID'] = $this->IsSideStepOfWorkflowID;
        if (isset($this->IsSideStepOfWorkflowOmschr)) $o['IsSideStepOfWorkflowOmschr'] = $this->IsSideStepOfWorkflowOmschr;
        if (isset($this->IsSideStepOfWorkflowDetailLink)) $o['IsSideStepOfWorkflowDetailLink'] = $this->IsSideStepOfWorkflowDetailLink;
        if (isset($this->IsSideStepOfTaskID)) $o['IsSideStepOfTaskID'] = $this->IsSideStepOfTaskID;
        if (isset($this->IsSideStepOfTaskOmschr)) $o['IsSideStepOfTaskOmschr'] = $this->IsSideStepOfTaskOmschr;
        if (isset($this->IsSideStepOfTaskDetailLink)) $o['IsSideStepOfTaskDetailLink'] = $this->IsSideStepOfTaskDetailLink;
        if (isset($this->IsObservedID)) $o['IsObservedID'] = $this->IsObservedID;
        if (isset($this->IsObservedOmschr)) $o['IsObservedOmschr'] = $this->IsObservedOmschr;
        if (isset($this->IsObservedDetailLink)) $o['IsObservedDetailLink'] = $this->IsObservedDetailLink;
        return empty($o) ? new class(){} : $o;
    }
}

class WorkflowMultiTaskDTO implements JsonSerializable
{
    public function __construct(
        /** @var WorkflowTaskDTO|null */
        public ?WorkflowTaskDTO $MultiTask=null,
        /** @var array<int>|null */
        public ?array $TaskIDs=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['MultiTask'])) $this->MultiTask = JsonConverters::from('WorkflowTaskDTO', $o['MultiTask']);
        if (isset($o['TaskIDs'])) $this->TaskIDs = JsonConverters::fromArray('int', $o['TaskIDs']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->MultiTask)) $o['MultiTask'] = JsonConverters::to('WorkflowTaskDTO', $this->MultiTask);
        if (isset($this->TaskIDs)) $o['TaskIDs'] = JsonConverters::toArray('int', $this->TaskIDs);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Get a multitask. */
// @Api(Description="Get a multitask.")
class GetMultiTaskOperation implements JsonSerializable
{
    public function __construct(
        /** @description ID of the workflow task(s) to return */
        // @ApiMember(Description="ID of the workflow task(s) to return", IsRequired=true)
        /** @var int[] */
        public array $TaskIDs=[]
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['TaskIDs'])) $this->TaskIDs = JsonConverters::fromArray('int', $o['TaskIDs']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->TaskIDs)) $o['TaskIDs'] = JsonConverters::toArray('int', $this->TaskIDs);
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetMultiTaskOperation DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/workflowmultitasks HTTP/1.1 
Host: test-do-services.klokgroep.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"TaskIDs":[0]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"MultiTask":{"ID":0,"Name":"String","WorkflowID":0,"WorkflowDescription":"String","RootWorkflowID":0,"TransitionID":"00000000-0000-0000-0000-000000000000","TransitionName":"String","ActivationID":"00000000-0000-0000-0000-000000000000","TypeID":0,"TypeDescription":"String","StatusID":0,"StatusDescription":"String","UserID":0,"Active":false,"OfferedDate":"0001-01-01T00:00:00.0000000","AssignedDate":"0001-01-01T00:00:00.0000000","StartDate":"0001-01-01T00:00:00.0000000","ExpirationDate":"0001-01-01T00:00:00.0000000","Order":0,"Progress":0,"FinishedDate":"0001-01-01T00:00:00.0000000","FinishedByUserID":0,"FinishedDocumentID":"00000000-0000-0000-0000-000000000000","Read":false,"DeferDate":"0001-01-01T00:00:00.0000000","DeferReason":"String","Reason":"String","Urgent":false,"Status":"String","AvailableActions":null,"FinishActions":null,"CommentActions":null,"DocumentActions":null,"NumberOfComments":0,"RelativeDetailLink":"String","FirstSideStepID":0,"FirstSideStepOmschr":"String","FirstSideStepDetailLink":"String","IsSideStepOfWorkflowID":0,"IsSideStepOfWorkflowOmschr":"String","IsSideStepOfWorkflowDetailLink":"String","IsSideStepOfTaskID":0,"IsSideStepOfTaskOmschr":"String","IsSideStepOfTaskDetailLink":"String","IsObservedID":0,"IsObservedOmschr":"String","IsObservedDetailLink":"String"},"TaskIDs":[0]}