DigiOffice Gateway Web Services

<back to all web services

GetRegistrationprofileDetailsWithDocument

Requires Authentication
<?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 Registrationprofile implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $ID='',
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Hint=null,
        /** @var int */
        public int $Order=0,
        /** @var bool|null */
        public ?bool $RegisterAutomatically=null,
        /** @var bool|null */
        public ?bool $RegisterInBackground=null,
        /** @var string|null */
        public ?string $ThumbnailUrl=null,
        /** @var string|null */
        public ?string $ProgCode=null,
        /** @var int */
        public int $VersionControlType=0,
        /** @var int */
        public int $WOPlaceLogo=0,
        /** @var string|null */
        public ?string $WOPrinterBins=null,
        /** @var bool|null */
        public ?bool $SelectAllFiles=null,
        /** @var bool|null */
        public ?bool $ShowSaveDialog=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['Hint'])) $this->Hint = $o['Hint'];
        if (isset($o['Order'])) $this->Order = $o['Order'];
        if (isset($o['RegisterAutomatically'])) $this->RegisterAutomatically = $o['RegisterAutomatically'];
        if (isset($o['RegisterInBackground'])) $this->RegisterInBackground = $o['RegisterInBackground'];
        if (isset($o['ThumbnailUrl'])) $this->ThumbnailUrl = $o['ThumbnailUrl'];
        if (isset($o['ProgCode'])) $this->ProgCode = $o['ProgCode'];
        if (isset($o['VersionControlType'])) $this->VersionControlType = $o['VersionControlType'];
        if (isset($o['WOPlaceLogo'])) $this->WOPlaceLogo = $o['WOPlaceLogo'];
        if (isset($o['WOPrinterBins'])) $this->WOPrinterBins = $o['WOPrinterBins'];
        if (isset($o['SelectAllFiles'])) $this->SelectAllFiles = $o['SelectAllFiles'];
        if (isset($o['ShowSaveDialog'])) $this->ShowSaveDialog = $o['ShowSaveDialog'];
    }
    
    /** @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->Hint)) $o['Hint'] = $this->Hint;
        if (isset($this->Order)) $o['Order'] = $this->Order;
        if (isset($this->RegisterAutomatically)) $o['RegisterAutomatically'] = $this->RegisterAutomatically;
        if (isset($this->RegisterInBackground)) $o['RegisterInBackground'] = $this->RegisterInBackground;
        if (isset($this->ThumbnailUrl)) $o['ThumbnailUrl'] = $this->ThumbnailUrl;
        if (isset($this->ProgCode)) $o['ProgCode'] = $this->ProgCode;
        if (isset($this->VersionControlType)) $o['VersionControlType'] = $this->VersionControlType;
        if (isset($this->WOPlaceLogo)) $o['WOPlaceLogo'] = $this->WOPlaceLogo;
        if (isset($this->WOPrinterBins)) $o['WOPrinterBins'] = $this->WOPrinterBins;
        if (isset($this->SelectAllFiles)) $o['SelectAllFiles'] = $this->SelectAllFiles;
        if (isset($this->ShowSaveDialog)) $o['ShowSaveDialog'] = $this->ShowSaveDialog;
        return empty($o) ? new class(){} : $o;
    }
}

enum RegistrationprofileStepLayout : string
{
    case OneColumn_12 = 'OneColumn_12';
    case TwoColumn_6_6 = 'TwoColumn_6_6';
    case TwoColumn_7_5 = 'TwoColumn_7_5';
    case ThreeColumn_4_4_4 = 'ThreeColumn_4_4_4';
}

class FieldState implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $Required=null,
        /** @var bool|null */
        public ?bool $Visible=null,
        /** @var bool|null */
        public ?bool $Readonly=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Required'])) $this->Required = $o['Required'];
        if (isset($o['Visible'])) $this->Visible = $o['Visible'];
        if (isset($o['Readonly'])) $this->Readonly = $o['Readonly'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Required)) $o['Required'] = $this->Required;
        if (isset($this->Visible)) $o['Visible'] = $this->Visible;
        if (isset($this->Readonly)) $o['Readonly'] = $this->Readonly;
        return empty($o) ? new class(){} : $o;
    }
}

class RegistrationProfileFieldStateBase extends FieldState implements JsonSerializable
{
    /**
     * @param bool|null $Required
     * @param bool|null $Visible
     * @param bool|null $Readonly
     */
    public function __construct(
        ?bool $Required=null,
        ?bool $Visible=null,
        ?bool $Readonly=null,
        /** @var string */
        public string $DocumentFieldID=''
    ) {
        parent::__construct($Required,$Visible,$Readonly);
    }

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

class RegistrationprofileField implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $ID='',
        /** @var string */
        public string $DocumentFieldID='',
        /** @var string|null */
        public ?string $Label=null,
        /** @var string|null */
        public ?string $UserControlType=null,
        /** @var array<SerializableKeyValuePair<string,Object>>|null */
        public ?array $UserControlProperties=null,
        /** @var string|null */
        public ?string $Hint=null,
        /** @var int */
        public int $Order=0,
        /** @var bool|null */
        public ?bool $HasDependableFields=null,
        /** @var string|null */
        public ?string $EntityName=null,
        /** @var RegistrationProfileFieldStateBase|null */
        public ?RegistrationProfileFieldStateBase $State=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['DocumentFieldID'])) $this->DocumentFieldID = $o['DocumentFieldID'];
        if (isset($o['Label'])) $this->Label = $o['Label'];
        if (isset($o['UserControlType'])) $this->UserControlType = $o['UserControlType'];
        if (isset($o['UserControlProperties'])) $this->UserControlProperties = JsonConverters::fromArray('SerializableKeyValuePair<String,Object>', $o['UserControlProperties']);
        if (isset($o['Hint'])) $this->Hint = $o['Hint'];
        if (isset($o['Order'])) $this->Order = $o['Order'];
        if (isset($o['HasDependableFields'])) $this->HasDependableFields = $o['HasDependableFields'];
        if (isset($o['EntityName'])) $this->EntityName = $o['EntityName'];
        if (isset($o['State'])) $this->State = JsonConverters::from('RegistrationProfileFieldStateBase', $o['State']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->DocumentFieldID)) $o['DocumentFieldID'] = $this->DocumentFieldID;
        if (isset($this->Label)) $o['Label'] = $this->Label;
        if (isset($this->UserControlType)) $o['UserControlType'] = $this->UserControlType;
        if (isset($this->UserControlProperties)) $o['UserControlProperties'] = JsonConverters::toArray('SerializableKeyValuePair<String,Object>', $this->UserControlProperties);
        if (isset($this->Hint)) $o['Hint'] = $this->Hint;
        if (isset($this->Order)) $o['Order'] = $this->Order;
        if (isset($this->HasDependableFields)) $o['HasDependableFields'] = $this->HasDependableFields;
        if (isset($this->EntityName)) $o['EntityName'] = $this->EntityName;
        if (isset($this->State)) $o['State'] = JsonConverters::to('RegistrationProfileFieldStateBase', $this->State);
        return empty($o) ? new class(){} : $o;
    }
}

class RegistrationprofileGroupState implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $Collapsed=null
    ) {
    }

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

class RegistrationprofileGroup implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $ID='',
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Label=null,
        /** @var int */
        public int $Order=0,
        /** @var int */
        public int $ColumnIndex=0,
        /** @var array<RegistrationprofileField>|null */
        public ?array $Fields=null,
        /** @var int */
        public int $LabelLayoutType=0,
        /** @var RegistrationprofileGroupState|null */
        public ?RegistrationprofileGroupState $State=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['Label'])) $this->Label = $o['Label'];
        if (isset($o['Order'])) $this->Order = $o['Order'];
        if (isset($o['ColumnIndex'])) $this->ColumnIndex = $o['ColumnIndex'];
        if (isset($o['Fields'])) $this->Fields = JsonConverters::fromArray('RegistrationprofileField', $o['Fields']);
        if (isset($o['LabelLayoutType'])) $this->LabelLayoutType = $o['LabelLayoutType'];
        if (isset($o['State'])) $this->State = JsonConverters::from('RegistrationprofileGroupState', $o['State']);
    }
    
    /** @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->Label)) $o['Label'] = $this->Label;
        if (isset($this->Order)) $o['Order'] = $this->Order;
        if (isset($this->ColumnIndex)) $o['ColumnIndex'] = $this->ColumnIndex;
        if (isset($this->Fields)) $o['Fields'] = JsonConverters::toArray('RegistrationprofileField', $this->Fields);
        if (isset($this->LabelLayoutType)) $o['LabelLayoutType'] = $this->LabelLayoutType;
        if (isset($this->State)) $o['State'] = JsonConverters::to('RegistrationprofileGroupState', $this->State);
        return empty($o) ? new class(){} : $o;
    }
}

class RegistrationprofileStep implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $ID='',
        /** @var string|null */
        public ?string $Name=null,
        /** @var int */
        public int $Order=0,
        /** @var RegistrationprofileStepLayout|null */
        public ?RegistrationprofileStepLayout $Layout=null,
        /** @var array<RegistrationprofileGroup>|null */
        public ?array $Groups=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['Order'])) $this->Order = $o['Order'];
        if (isset($o['Layout'])) $this->Layout = JsonConverters::from('RegistrationprofileStepLayout', $o['Layout']);
        if (isset($o['Groups'])) $this->Groups = JsonConverters::fromArray('RegistrationprofileGroup', $o['Groups']);
    }
    
    /** @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->Order)) $o['Order'] = $this->Order;
        if (isset($this->Layout)) $o['Layout'] = JsonConverters::to('RegistrationprofileStepLayout', $this->Layout);
        if (isset($this->Groups)) $o['Groups'] = JsonConverters::toArray('RegistrationprofileGroup', $this->Groups);
        return empty($o) ? new class(){} : $o;
    }
}

enum MessageType : int
{
    case Information = 1;
    case Warning = 2;
    case Error = 3;
    case Success = 4;
}

class InformationMessageBase implements IInformationMessage, JsonSerializable
{
    public function __construct(
        /** @var MessageType|null */
        public ?MessageType $Type=null,
        /** @var string|null */
        public ?string $Summary=null,
        /** @var string|null */
        public ?string $FullMessage=null,
        /** @var string|null */
        public ?string $FieldName=null,
        /** @var bool|null */
        public ?bool $KeepOpen=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Type'])) $this->Type = JsonConverters::from('MessageType', $o['Type']);
        if (isset($o['Summary'])) $this->Summary = $o['Summary'];
        if (isset($o['FullMessage'])) $this->FullMessage = $o['FullMessage'];
        if (isset($o['FieldName'])) $this->FieldName = $o['FieldName'];
        if (isset($o['KeepOpen'])) $this->KeepOpen = $o['KeepOpen'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Type)) $o['Type'] = JsonConverters::to('MessageType', $this->Type);
        if (isset($this->Summary)) $o['Summary'] = $this->Summary;
        if (isset($this->FullMessage)) $o['FullMessage'] = $this->FullMessage;
        if (isset($this->FieldName)) $o['FieldName'] = $this->FieldName;
        if (isset($this->KeepOpen)) $o['KeepOpen'] = $this->KeepOpen;
        return empty($o) ? new class(){} : $o;
    }
}

class RegistrationprofileDetails extends Registrationprofile implements JsonSerializable
{
    /**
     * @param string $ID
     * @param string|null $Name
     * @param string|null $Hint
     * @param int $Order
     * @param bool|null $RegisterAutomatically
     * @param bool|null $RegisterInBackground
     * @param string|null $ThumbnailUrl
     * @param string|null $ProgCode
     * @param int $VersionControlType
     * @param int $WOPlaceLogo
     * @param string|null $WOPrinterBins
     * @param bool|null $SelectAllFiles
     * @param bool|null $ShowSaveDialog
     */
    public function __construct(
        string $ID='',
        ?string $Name=null,
        ?string $Hint=null,
        int $Order=0,
        ?bool $RegisterAutomatically=null,
        ?bool $RegisterInBackground=null,
        ?string $ThumbnailUrl=null,
        ?string $ProgCode=null,
        int $VersionControlType=0,
        int $WOPlaceLogo=0,
        ?string $WOPrinterBins=null,
        ?bool $SelectAllFiles=null,
        ?bool $ShowSaveDialog=null,
        /** @var array<RegistrationprofileStep>|null */
        public ?array $Steps=null,
        /** @var array<InformationMessageBase>|null */
        public ?array $Messages=null,
        /** @var bool|null */
        public ?bool $ReadOnly=null
    ) {
        parent::__construct($ID,$Name,$Hint,$Order,$RegisterAutomatically,$RegisterInBackground,$ThumbnailUrl,$ProgCode,$VersionControlType,$WOPlaceLogo,$WOPrinterBins,$SelectAllFiles,$ShowSaveDialog);
    }

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

class GetRegistrationprofileDetailsWithDocument implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ID=null,
        /** @var string|null */
        public ?string $DocumentId=null,
        /** @var bool|null */
        public ?bool $IsOffice365Context=null,
        /** @var bool|null */
        public ?bool $IsOpenedFromNonDMSLocation=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['DocumentId'])) $this->DocumentId = $o['DocumentId'];
        if (isset($o['IsOffice365Context'])) $this->IsOffice365Context = $o['IsOffice365Context'];
        if (isset($o['IsOpenedFromNonDMSLocation'])) $this->IsOpenedFromNonDMSLocation = $o['IsOpenedFromNonDMSLocation'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->DocumentId)) $o['DocumentId'] = $this->DocumentId;
        if (isset($this->IsOffice365Context)) $o['IsOffice365Context'] = $this->IsOffice365Context;
        if (isset($this->IsOpenedFromNonDMSLocation)) $o['IsOpenedFromNonDMSLocation'] = $this->IsOpenedFromNonDMSLocation;
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetRegistrationprofileDetailsWithDocument DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /json/reply/GetRegistrationprofileDetailsWithDocument HTTP/1.1 
Host: test-dogw.klokgroep.nl 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ID":"00000000-0000-0000-0000-000000000000","DocumentId":"00000000-0000-0000-0000-000000000000","IsOffice365Context":false,"IsOpenedFromNonDMSLocation":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Steps":[{"ID":"00000000-0000-0000-0000-000000000000","Name":"String","Order":0,"Layout":"OneColumn_12","Groups":[{"ID":"00000000-0000-0000-0000-000000000000","Name":"String","Label":"String","Order":0,"ColumnIndex":0,"Fields":[{"ID":"00000000-0000-0000-0000-000000000000","DocumentFieldID":"00000000-0000-0000-0000-000000000000","Label":"String","UserControlType":"String","UserControlProperties":[{}],"Hint":"String","Order":0,"HasDependableFields":false,"EntityName":"String","State":{"DocumentFieldID":"00000000-0000-0000-0000-000000000000","Required":false,"Visible":false,"Readonly":false}}],"LabelLayoutType":0,"State":{"Collapsed":false}}]}],"Messages":[{}],"ReadOnly":false,"ID":"00000000-0000-0000-0000-000000000000","Name":"String","Hint":"String","Order":0,"RegisterAutomatically":false,"RegisterInBackground":false,"ThumbnailUrl":"String","ProgCode":"String","VersionControlType":0,"WOPlaceLogo":0,"WOPrinterBins":"String","SelectAllFiles":false,"ShowSaveDialog":false}