FrameAppWS

<back to all web services

EjecutaCuboOpRemotasRQ

Requires Authentication
The following routes are available for this service:
All Verbs/Utilidades/Consultas/Cubos/OperacionesRemotas
<?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 EjecutaCuboOpRemotasRS implements JsonSerializable
{
    public function __construct(
        /** @var array<array<string,Object>>|null */
        public ?array $data=null,
        /** @var int */
        public int $totalCount=0,
        /** @var string|null */
        public ?string $Error=null,
        /** @var string|null */
        public ?string $SQL=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['data'])) $this->data = JsonConverters::fromArray('Dictionary<String,Object>', $o['data']);
        if (isset($o['totalCount'])) $this->totalCount = $o['totalCount'];
        if (isset($o['Error'])) $this->Error = $o['Error'];
        if (isset($o['SQL'])) $this->SQL = $o['SQL'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->data)) $o['data'] = JsonConverters::toArray('Dictionary<String,Object>', $this->data);
        if (isset($this->totalCount)) $o['totalCount'] = $this->totalCount;
        if (isset($this->Error)) $o['Error'] = $this->Error;
        if (isset($this->SQL)) $o['SQL'] = $this->SQL;
        return empty($o) ? new class(){} : $o;
    }
}

enum Lenguajes : string
{
    case ES = 'ES';
    case PT = 'PT';
    case EN = 'EN';
}

class gridSortOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $selector=null,
        /** @var bool|null */
        public ?bool $desc=null
    ) {
    }

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

class EjecutaCuboOpRemotasRQ implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $IDVista=0,
        /** @var int */
        public int $IDPivot=0,
        /** @var array<string,Object>|null */
        public ?array $Parametros=null,
        /** @var Lenguajes|null */
        public ?Lenguajes $Lenguaje=null,
        /** @var int */
        public int $skip=0,
        /** @var int */
        public int $take=0,
        /** @var array<Object>|null */
        public ?array $filter=null,
        /** @var gridSortOptions|null */
        public ?gridSortOptions $sort=null,
        /** @var gridGroupOptions[]|null */
        public ?array $group=null,
        /** @var gridSummaryOptions[]|null */
        public ?array $groupSummary=null,
        /** @var gridSummaryOptions[]|null */
        public ?array $totalSummary=null,
        /** @var bool|null */
        public ?bool $requireTotalCount=null,
        /** @var bool|null */
        public ?bool $requireGroupCount=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['IDVista'])) $this->IDVista = $o['IDVista'];
        if (isset($o['IDPivot'])) $this->IDPivot = $o['IDPivot'];
        if (isset($o['Parametros'])) $this->Parametros = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $o['Parametros']);
        if (isset($o['Lenguaje'])) $this->Lenguaje = JsonConverters::from('Lenguajes', $o['Lenguaje']);
        if (isset($o['skip'])) $this->skip = $o['skip'];
        if (isset($o['take'])) $this->take = $o['take'];
        if (isset($o['filter'])) $this->filter = JsonConverters::fromArray('Object', $o['filter']);
        if (isset($o['sort'])) $this->sort = JsonConverters::from('gridSortOptions', $o['sort']);
        if (isset($o['group'])) $this->group = JsonConverters::fromArray('gridGroupOptions', $o['group']);
        if (isset($o['groupSummary'])) $this->groupSummary = JsonConverters::fromArray('gridSummaryOptions', $o['groupSummary']);
        if (isset($o['totalSummary'])) $this->totalSummary = JsonConverters::fromArray('gridSummaryOptions', $o['totalSummary']);
        if (isset($o['requireTotalCount'])) $this->requireTotalCount = $o['requireTotalCount'];
        if (isset($o['requireGroupCount'])) $this->requireGroupCount = $o['requireGroupCount'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->IDVista)) $o['IDVista'] = $this->IDVista;
        if (isset($this->IDPivot)) $o['IDPivot'] = $this->IDPivot;
        if (isset($this->Parametros)) $o['Parametros'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $this->Parametros);
        if (isset($this->Lenguaje)) $o['Lenguaje'] = JsonConverters::to('Lenguajes', $this->Lenguaje);
        if (isset($this->skip)) $o['skip'] = $this->skip;
        if (isset($this->take)) $o['take'] = $this->take;
        if (isset($this->filter)) $o['filter'] = JsonConverters::toArray('Object', $this->filter);
        if (isset($this->sort)) $o['sort'] = JsonConverters::to('gridSortOptions', $this->sort);
        if (isset($this->group)) $o['group'] = JsonConverters::toArray('gridGroupOptions', $this->group);
        if (isset($this->groupSummary)) $o['groupSummary'] = JsonConverters::toArray('gridSummaryOptions', $this->groupSummary);
        if (isset($this->totalSummary)) $o['totalSummary'] = JsonConverters::toArray('gridSummaryOptions', $this->totalSummary);
        if (isset($this->requireTotalCount)) $o['requireTotalCount'] = $this->requireTotalCount;
        if (isset($this->requireGroupCount)) $o['requireGroupCount'] = $this->requireGroupCount;
        return empty($o) ? new class(){} : $o;
    }
}

class gridGroupOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $selector=null,
        /** @var bool|null */
        public ?bool $desc=null,
        /** @var bool|null */
        public ?bool $isExpanded=null
    ) {
    }

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

class gridSummaryOptions implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $selector=null,
        /** @var string|null */
        public ?string $summaryType=null
    ) {
    }

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

PHP EjecutaCuboOpRemotasRQ 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 /Utilidades/Consultas/Cubos/OperacionesRemotas HTTP/1.1 
Host: soluser-recaudo.sgsas.co 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"IDVista":0,"IDPivot":0,"Parametros":{"String":{}},"Lenguaje":"ES","skip":0,"take":0,"filter":[{}],"sort":{"selector":"String","desc":false},"group":[{"selector":"String","desc":false,"isExpanded":false}],"groupSummary":[{"selector":"String","summaryType":"String"}],"totalSummary":[{"selector":"String","summaryType":"String"}],"requireTotalCount":false,"requireGroupCount":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"data":[{"String":{}}],"totalCount":0,"Error":"String","SQL":"String"}