<?php
/* Autor...:  */
/* Esquema.: VTA_OrdenTipo.xml */
/* Generado: 2020-08-18 04:21:32 */

/* Metodos de acceso a los campos de la tabla VTA_OrdenTipo */
abstract class BaseVTA_OrdenTipoBN
{
    /* Campos de la tabla */
    private $i_OrdenTipoId;    // OrdenTipoId: ( no definido )
    private $s_OrdenTipoCod;    // OrdenTipoCod: ( no definido )
    private $s_OrdenTipoDescripcion;    // OrdenTipoDescripcion: ( no definido )
    private $s_OrdenTipoPrefijo;    // OrdenTipoPrefijo: ( no definido )
    private $s_DocRefTipo;    // DocRefTipo: ( no definido )
    private $s_OrdenTipoPublico;    // OrdenTipoPublico: ( no definido )
    private $s_OrdenTipoEstado;    // OrdenTipoEstado: ( no definido )
    private $s_OrdenCreacion;    // OrdenCreacion: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )

    /* Establece el valor del campo OrdenTipoId */
    public function setOrdenTipoId( $i_OrdenTipoId )
    {
        $this->i_OrdenTipoId = $i_OrdenTipoId;
    }

    /* Obtiene el valor del campo OrdenTipoId */
    public function getOrdenTipoId()
    {
        return $this->i_OrdenTipoId;
    }

    /* Establece el valor del campo OrdenTipoCod */
    public function setOrdenTipoCod( $s_OrdenTipoCod )
    {
        $this->s_OrdenTipoCod = $s_OrdenTipoCod;
    }

    /* Obtiene el valor del campo OrdenTipoCod */
    public function getOrdenTipoCod()
    {
        return $this->s_OrdenTipoCod;
    }

    /* Establece el valor del campo OrdenTipoDescripcion */
    public function setOrdenTipoDescripcion( $s_OrdenTipoDescripcion )
    {
        $this->s_OrdenTipoDescripcion = $s_OrdenTipoDescripcion;
    }

    /* Obtiene el valor del campo OrdenTipoDescripcion */
    public function getOrdenTipoDescripcion()
    {
        return $this->s_OrdenTipoDescripcion;
    }

    /* Establece el valor del campo OrdenTipoPrefijo */
    public function setOrdenTipoPrefijo( $s_OrdenTipoPrefijo )
    {
        $this->s_OrdenTipoPrefijo = $s_OrdenTipoPrefijo;
    }

    /* Obtiene el valor del campo OrdenTipoPrefijo */
    public function getOrdenTipoPrefijo()
    {
        return $this->s_OrdenTipoPrefijo;
    }

    /* Establece el valor del campo DocRefTipo */
    public function setDocRefTipo( $s_DocRefTipo )
    {
        $this->s_DocRefTipo = $s_DocRefTipo;
    }

    /* Obtiene el valor del campo DocRefTipo */
    public function getDocRefTipo()
    {
        return $this->s_DocRefTipo;
    }

    /* Establece el valor del campo OrdenTipoPublico */
    public function setOrdenTipoPublico( $s_OrdenTipoPublico )
    {
        $this->s_OrdenTipoPublico = $s_OrdenTipoPublico;
    }

    /* Obtiene el valor del campo OrdenTipoPublico */
    public function getOrdenTipoPublico()
    {
        return $this->s_OrdenTipoPublico;
    }

    /* Establece el valor del campo OrdenTipoEstado */
    public function setOrdenTipoEstado( $s_OrdenTipoEstado )
    {
        $this->s_OrdenTipoEstado = $s_OrdenTipoEstado;
    }

    /* Obtiene el valor del campo OrdenTipoEstado */
    public function getOrdenTipoEstado()
    {
        return $this->s_OrdenTipoEstado;
    }

    /* Establece el valor del campo OrdenCreacion */
    public function setOrdenCreacion( $s_OrdenCreacion )
    {
        $this->s_OrdenCreacion = $s_OrdenCreacion;
    }

    /* Obtiene el valor del campo OrdenCreacion */
    public function getOrdenCreacion()
    {
        return $this->s_OrdenCreacion;
    }

    /* 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;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'OrdenTipoId' => $this->getOrdenTipoId(),
            'OrdenTipoCod' => $this->getOrdenTipoCod(),
            'OrdenTipoDescripcion' => $this->getOrdenTipoDescripcion(),
            'OrdenTipoPrefijo' => $this->getOrdenTipoPrefijo(),
            'DocRefTipo' => $this->getDocRefTipo(),
            'OrdenTipoPublico' => $this->getOrdenTipoPublico(),
            'OrdenTipoEstado' => $this->getOrdenTipoEstado(),
            'OrdenCreacion' => $this->getOrdenCreacion(),
            'FechaCreacion' => $this->getFechaCreacion(),
        ];
    }

    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_OrdenTipoBN desde un RecordSet */
    public static function retrieveByRs( $o_VTA_OrdenTipoRs )
    {
        $o_VTA_OrdenTipoBN = new VTA_OrdenTipoBN();
        $o_VTA_OrdenTipoBN->setOrdenTipoId( ( integer ) $o_VTA_OrdenTipoRs[ "OrdenTipoId" ] );
        $o_VTA_OrdenTipoBN->setOrdenTipoCod( $o_VTA_OrdenTipoRs[ "OrdenTipoCod" ] );
        $o_VTA_OrdenTipoBN->setOrdenTipoDescripcion( $o_VTA_OrdenTipoRs[ "OrdenTipoDescripcion" ] );
        $o_VTA_OrdenTipoBN->setOrdenTipoPrefijo( $o_VTA_OrdenTipoRs[ "OrdenTipoPrefijo" ] );
        $o_VTA_OrdenTipoBN->setDocRefTipo( $o_VTA_OrdenTipoRs[ "DocRefTipo" ] );
        $o_VTA_OrdenTipoBN->setOrdenTipoPublico( $o_VTA_OrdenTipoRs[ "OrdenTipoPublico" ] );
        $o_VTA_OrdenTipoBN->setOrdenTipoEstado( $o_VTA_OrdenTipoRs[ "OrdenTipoEstado" ] );
        $o_VTA_OrdenTipoBN->setOrdenCreacion( $o_VTA_OrdenTipoRs[ "OrdenCreacion" ] );
        $o_VTA_OrdenTipoBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_VTA_OrdenTipoRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        return $o_VTA_OrdenTipoBN;
    }
}
?>