Trendsic Platform Service

<back to all web services

CrewEquipmentSetRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/territory/crewequipment
<?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 Territory implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $TerritoryID=0,
        /** @var string|null */
        public ?string $TerritoryUID=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Color=null,
        /** @var string|null */
        public ?string $ZipCsv=null,
        /** @var int|null */
        public ?int $CrewID=null,
        /** @var string|null */
        public ?string $CrewName=null,
        /** @var bool|null */
        public ?bool $Active=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['TerritoryID'])) $this->TerritoryID = $o['TerritoryID'];
        if (isset($o['TerritoryUID'])) $this->TerritoryUID = $o['TerritoryUID'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Color'])) $this->Color = $o['Color'];
        if (isset($o['ZipCsv'])) $this->ZipCsv = $o['ZipCsv'];
        if (isset($o['CrewID'])) $this->CrewID = $o['CrewID'];
        if (isset($o['CrewName'])) $this->CrewName = $o['CrewName'];
        if (isset($o['Active'])) $this->Active = $o['Active'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->TerritoryID)) $o['TerritoryID'] = $this->TerritoryID;
        if (isset($this->TerritoryUID)) $o['TerritoryUID'] = $this->TerritoryUID;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Color)) $o['Color'] = $this->Color;
        if (isset($this->ZipCsv)) $o['ZipCsv'] = $this->ZipCsv;
        if (isset($this->CrewID)) $o['CrewID'] = $this->CrewID;
        if (isset($this->CrewName)) $o['CrewName'] = $this->CrewName;
        if (isset($this->Active)) $o['Active'] = $this->Active;
        return empty($o) ? new class(){} : $o;
    }
}

class TerritoryPropertyRow implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $TerritoryID=0,
        /** @var int */
        public int $AgreementID=0
    ) {
    }

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

class CrewEquipmentRow implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CrewID=0,
        /** @var int */
        public int $EquipmentID=0,
        /** @var string|null */
        public ?string $EquipmentName=null
    ) {
    }

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

class AgreementNeedRow implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $AgreementID=0,
        /** @var int */
        public int $EquipmentID=0,
        /** @var string|null */
        public ?string $EquipmentName=null
    ) {
    }

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

class TerritoryResponse implements JsonSerializable
{
    public function __construct(
        /** @var ResponseStatus|null */
        public ?ResponseStatus $ResponseStatus=null,
        /** @var array<Territory>|null */
        public ?array $Territories=null,
        /** @var array<TerritoryPropertyRow>|null */
        public ?array $Properties=null,
        /** @var array<CrewEquipmentRow>|null */
        public ?array $CrewEquipment=null,
        /** @var array<AgreementNeedRow>|null */
        public ?array $AgreementNeeds=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
        if (isset($o['Territories'])) $this->Territories = JsonConverters::fromArray('Territory', $o['Territories']);
        if (isset($o['Properties'])) $this->Properties = JsonConverters::fromArray('TerritoryPropertyRow', $o['Properties']);
        if (isset($o['CrewEquipment'])) $this->CrewEquipment = JsonConverters::fromArray('CrewEquipmentRow', $o['CrewEquipment']);
        if (isset($o['AgreementNeeds'])) $this->AgreementNeeds = JsonConverters::fromArray('AgreementNeedRow', $o['AgreementNeeds']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
        if (isset($this->Territories)) $o['Territories'] = JsonConverters::toArray('Territory', $this->Territories);
        if (isset($this->Properties)) $o['Properties'] = JsonConverters::toArray('TerritoryPropertyRow', $this->Properties);
        if (isset($this->CrewEquipment)) $o['CrewEquipment'] = JsonConverters::toArray('CrewEquipmentRow', $this->CrewEquipment);
        if (isset($this->AgreementNeeds)) $o['AgreementNeeds'] = JsonConverters::toArray('AgreementNeedRow', $this->AgreementNeeds);
        return empty($o) ? new class(){} : $o;
    }
}

class CrewEquipmentSetRequest implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CrewID=0,
        /** @var array<int>|null */
        public ?array $EquipmentIDs=null
    ) {
    }

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

PHP CrewEquipmentSetRequest DTOs

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

HTTP + OTHER

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

POST /v1/territory/crewequipment HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CrewID":0,"EquipmentIDs":[0]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Territories":[{"TerritoryID":0,"TerritoryUID":"String","Name":"String","Color":"String","ZipCsv":"String","CrewID":0,"CrewName":"String","Active":false}],"Properties":[{"TerritoryID":0,"AgreementID":0}],"CrewEquipment":[{"CrewID":0,"EquipmentID":0,"EquipmentName":"String"}],"AgreementNeeds":[{"AgreementID":0,"EquipmentID":0,"EquipmentName":"String"}]}