<?php
/* Autor...:  */
/* Esquema.: VTA_OrdenArchivos.xml */
/* Generado: 2021-03-04 17:13:00 */

/* Metodos de acceso a los campos de la tabla VTA_OrdenArchivos */
abstract class BaseVTA_OrdenArchivosBN
{
    /* Campos de la tabla */
    private $i_OrdenId;    // OrdenId: ( no definido )
    private $i_IdSecuencia;    // IdSecuencia: ( no definido )
    private $i_TipoArchivoId;    // TipoArchivoId: ( no definido )
    private $s_Nombre;    // Nombre: ( no definido )
    private $s_Tipo;    // Tipo: ( no definido )
    private $s_TipoCompleto;    // TipoCompleto: ( no definido )
    private $i_Tamanio;    // Tamanio: ( no definido )
    private $s_UbicacionURL;    // UbicacionURL: ( no definido )
    private $s_UbicacionFisica;    // UbicacionFisica: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )

    /* Establece el valor del campo OrdenId */
    public function setOrdenId( $i_OrdenId )
    {
        $this->i_OrdenId = $i_OrdenId;
    }

    /* Obtiene el valor del campo OrdenId */
    public function getOrdenId()
    {
        return $this->i_OrdenId;
    }

    /* Establece el valor del campo IdSecuencia */
    public function setIdSecuencia( $i_IdSecuencia )
    {
        $this->i_IdSecuencia = $i_IdSecuencia;
    }

    /* Obtiene el valor del campo IdSecuencia */
    public function getIdSecuencia()
    {
        return $this->i_IdSecuencia;
    }

    /* Establece el valor del campo TipoArchivoId */
    public function setTipoArchivoId( $i_TipoArchivoId )
    {
        $this->i_TipoArchivoId = $i_TipoArchivoId;
    }

    /* Obtiene el valor del campo TipoArchivoId */
    public function getTipoArchivoId()
    {
        return $this->i_TipoArchivoId;
    }

    /* Establece el valor del campo Nombre */
    public function setNombre( $s_Nombre )
    {
        $this->s_Nombre = $s_Nombre;
    }

    /* Obtiene el valor del campo Nombre */
    public function getNombre()
    {
        return $this->s_Nombre;
    }

    /* Establece el valor del campo Tipo */
    public function setTipo( $s_Tipo )
    {
        $this->s_Tipo = $s_Tipo;
    }

    /* Obtiene el valor del campo Tipo */
    public function getTipo()
    {
        return $this->s_Tipo;
    }

    /* Establece el valor del campo TipoCompleto */
    public function setTipoCompleto( $s_TipoCompleto )
    {
        $this->s_TipoCompleto = $s_TipoCompleto;
    }

    /* Obtiene el valor del campo TipoCompleto */
    public function getTipoCompleto()
    {
        return $this->s_TipoCompleto;
    }

    /* Establece el valor del campo Tamanio */
    public function setTamanio( $i_Tamanio )
    {
        $this->i_Tamanio = $i_Tamanio;
    }

    /* Obtiene el valor del campo Tamanio */
    public function getTamanio()
    {
        return $this->i_Tamanio;
    }

    /* Establece el valor del campo UbicacionURL */
    public function setUbicacionURL( $s_UbicacionURL )
    {
        $this->s_UbicacionURL = $s_UbicacionURL;
    }

    /* Obtiene el valor del campo UbicacionURL */
    public function getUbicacionURL()
    {
        return $this->s_UbicacionURL;
    }

    /* Establece el valor del campo UbicacionFisica */
    public function setUbicacionFisica( $s_UbicacionFisica )
    {
        $this->s_UbicacionFisica = $s_UbicacionFisica;
    }

    /* Obtiene el valor del campo UbicacionFisica */
    public function getUbicacionFisica()
    {
        return $this->s_UbicacionFisica;
    }

    /* Establece el valor del campo FechaCreacion */
    public function setFechaCreacion( $d_FechaCreacion )
    {
        $this->d_FechaCreacion = $d_FechaCreacion;
    }

    /* Obtiene el valor del campo FechaCreacion */
    public function getFechaCreacion()
    {
        return $this->d_FechaCreacion;
    }

    /* Establece el valor del campo UsuarioCreacion */
    public function setUsuarioCreacion( $s_UsuarioCreacion )
    {
        $this->s_UsuarioCreacion = $s_UsuarioCreacion;
    }

    /* Obtiene el valor del campo UsuarioCreacion */
    public function getUsuarioCreacion()
    {
        return $this->s_UsuarioCreacion;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'OrdenId' => $this->getOrdenId(),
            'IdSecuencia' => $this->getIdSecuencia(),
            'TipoArchivoId' => $this->getTipoArchivoId(),
            'Nombre' => $this->getNombre(),
            'Tipo' => $this->getTipo(),
            'TipoCompleto' => $this->getTipoCompleto(),
            'Tamanio' => $this->getTamanio(),
            'UbicacionURL' => $this->getUbicacionURL(),
            'UbicacionFisica' => $this->getUbicacionFisica(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
        ];
    }

    public function toArray()
    {
        return $this->processArray( get_object_vars( $this ) ); 
    }

    private function processArray( $array )
    {
        foreach( $array as $key => $value ) 
        {
            if ( is_object( $value ) )
            {
                $array[$key] = $value->toArray();
            }
            if ( is_array( $value ) ) 
            {
                $array[$key] = $this->processArray( $value );
            }
        }
        return $array;
    }

    public function __toString()
    {
        return json_encode( $this->toArray() ); 
    }

    /* Recupera un objeto VTA_OrdenArchivosBN desde un RecordSet */
    public static function retrieveByRs( $o_VTA_OrdenArchivosRs )
    {
        $o_VTA_OrdenArchivosBN = new VTA_OrdenArchivosBN();
        $o_VTA_OrdenArchivosBN->setOrdenId( ( integer ) $o_VTA_OrdenArchivosRs[ "OrdenId" ] );
        $o_VTA_OrdenArchivosBN->setIdSecuencia( ( integer ) $o_VTA_OrdenArchivosRs[ "IdSecuencia" ] );
        $o_VTA_OrdenArchivosBN->setTipoArchivoId( ( integer ) $o_VTA_OrdenArchivosRs[ "TipoArchivoId" ] );
        $o_VTA_OrdenArchivosBN->setNombre( $o_VTA_OrdenArchivosRs[ "Nombre" ] );
        $o_VTA_OrdenArchivosBN->setTipo( $o_VTA_OrdenArchivosRs[ "Tipo" ] );
        $o_VTA_OrdenArchivosBN->setTipoCompleto( $o_VTA_OrdenArchivosRs[ "TipoCompleto" ] );
        $o_VTA_OrdenArchivosBN->setTamanio( ( integer ) $o_VTA_OrdenArchivosRs[ "Tamanio" ] );
        $o_VTA_OrdenArchivosBN->setUbicacionURL( $o_VTA_OrdenArchivosRs[ "UbicacionURL" ] );
        $o_VTA_OrdenArchivosBN->setUbicacionFisica( $o_VTA_OrdenArchivosRs[ "UbicacionFisica" ] );
        $o_VTA_OrdenArchivosBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_VTA_OrdenArchivosRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_VTA_OrdenArchivosBN->setUsuarioCreacion( $o_VTA_OrdenArchivosRs[ "UsuarioCreacion" ] );
        return $o_VTA_OrdenArchivosBN;
    }
}
?>