FrameAppWS

<back to all web services

ExecuteDBFunctionRQ

Requires Authentication
The following routes are available for this service:
All Verbs/utilidades/executeDBFunction
<?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 GeneralRS implements JsonSerializable
{
    public function __construct(
        /** @description Id del código de respuesta 1: Correcto, -1: Error */
        // @ApiMember(DataType="int", Description="Id del código de respuesta 1: Correcto, -1: Error", IsRequired=true, ParameterType="body")
        /** @var int */
        public int $Codigo=0,

        /** @description Mensaje que se envía al ejecutar el servicio */
        // @ApiMember(DataType="string", Description="Mensaje que se envía al ejecutar el servicio", IsRequired=true, ParameterType="body")
        /** @var string */
        public string $Mensaje=''
    ) {
    }

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

class ExecuteDBFunctionRS extends GeneralRS implements JsonSerializable
{
    /**
     * @param int $Codigo
     * @param string $Mensaje
     */
    public function __construct(
        int $Codigo=0,
        string $Mensaje='',
        /** @var Object|null */
        public ?Object $Respuesta=null,
        /** @var float */
        public float $IDEjecucion=0.0,
        /** @var string|null */
        public ?string $URLArchivo=null,
        /** @var string|null */
        public ?string $TipoRespuesta=null,
        /** @var bool|null */
        public ?bool $Background=null,
        /** @var int */
        public int $TiempoRespuestaBD=0,
        /** @var int */
        public int $TiempoRespuestaTotal=0
    ) {
        parent::__construct($Codigo,$Mensaje);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['Respuesta'])) $this->Respuesta = JsonConverters::from('Object', $o['Respuesta']);
        if (isset($o['IDEjecucion'])) $this->IDEjecucion = $o['IDEjecucion'];
        if (isset($o['URLArchivo'])) $this->URLArchivo = $o['URLArchivo'];
        if (isset($o['TipoRespuesta'])) $this->TipoRespuesta = $o['TipoRespuesta'];
        if (isset($o['Background'])) $this->Background = $o['Background'];
        if (isset($o['TiempoRespuestaBD'])) $this->TiempoRespuestaBD = $o['TiempoRespuestaBD'];
        if (isset($o['TiempoRespuestaTotal'])) $this->TiempoRespuestaTotal = $o['TiempoRespuestaTotal'];
        if (isset($o['Codigo'])) $this->Codigo = $o['Codigo'];
        if (isset($o['Mensaje'])) $this->Mensaje = $o['Mensaje'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->Respuesta)) $o['Respuesta'] = JsonConverters::to('Object', $this->Respuesta);
        if (isset($this->IDEjecucion)) $o['IDEjecucion'] = $this->IDEjecucion;
        if (isset($this->URLArchivo)) $o['URLArchivo'] = $this->URLArchivo;
        if (isset($this->TipoRespuesta)) $o['TipoRespuesta'] = $this->TipoRespuesta;
        if (isset($this->Background)) $o['Background'] = $this->Background;
        if (isset($this->TiempoRespuestaBD)) $o['TiempoRespuestaBD'] = $this->TiempoRespuestaBD;
        if (isset($this->TiempoRespuestaTotal)) $o['TiempoRespuestaTotal'] = $this->TiempoRespuestaTotal;
        if (isset($this->Codigo)) $o['Codigo'] = $this->Codigo;
        if (isset($this->Mensaje)) $o['Mensaje'] = $this->Mensaje;
        return empty($o) ? new class(){} : $o;
    }
}

class ExecuteDBFunctionRQ implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $NombreServicio=null,
        /** @var array<string,Object>|null */
        public ?array $Parametros=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['NombreServicio'])) $this->NombreServicio = $o['NombreServicio'];
        if (isset($o['Parametros'])) $this->Parametros = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $o['Parametros']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->NombreServicio)) $o['NombreServicio'] = $this->NombreServicio;
        if (isset($this->Parametros)) $o['Parametros'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Object']), $this->Parametros);
        return empty($o) ? new class(){} : $o;
    }
}

PHP ExecuteDBFunctionRQ DTOs

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

HTTP + XML

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

POST /utilidades/executeDBFunction HTTP/1.1 
Host: soluser-recaudo.sgsas.co 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ExecuteDBFunctionRQ xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Administrador.Modelo.Tipos">
  <NombreServicio>String</NombreServicio>
  <Parametros xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringanyType>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value />
    </d2p1:KeyValueOfstringanyType>
  </Parametros>
</ExecuteDBFunctionRQ>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ExecuteDBFunctionRS xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Administrador.Modelo.Tipos">
  <Codigo>0</Codigo>
  <Mensaje>String</Mensaje>
  <Background>false</Background>
  <IDEjecucion>0</IDEjecucion>
  <Respuesta />
  <TiempoRespuestaBD>0</TiempoRespuestaBD>
  <TiempoRespuestaTotal>0</TiempoRespuestaTotal>
  <TipoRespuesta>String</TipoRespuesta>
  <URLArchivo>String</URLArchivo>
</ExecuteDBFunctionRS>