<?php
/* Autor...:  */
/* Esquema.: VTA_PrsProyectos.xml */
/* Generado: 2021-05-25 04:23:20 */

/* Metodos de acceso a los campos de la tabla VTA_PrsProyectos */
abstract class BaseVTA_PrsProyectosBN
{
    /* Campos de la tabla */
    private $i_IdProyecto;    // IdProyecto: ( no definido )
    private $i_IdPersona;    // IdPersona: ( no definido )
    private $s_ClienteNombre;    // ClienteNombre: ( no definido )
    private $s_ClienteTipoDocu;    // ClienteTipoDocu: ( no definido )
    private $s_ClienteNroDocu;    // ClienteNroDocu: ( no definido )
    private $s_NombreCompleto;    // NombreCompleto: ( no definido )
    private $s_NombreProyecto;    // NombreProyecto: ( no definido )
    private $s_Contacto;    // Contacto: ( no definido )
    private $s_TipoDocumento;    // TipoDocumento: ( no definido )
    private $s_NroDocumento;    // NroDocumento: ( no definido )
    private $s_Cargo;    // Cargo: ( no definido )
    private $s_Telefono;    // Telefono: ( no definido )
    private $s_Correo;    // Correo: ( no definido )
    private $s_Estado;    // Estado: ( no definido )
    private $s_EstadoDevolucion;    // EstadoDevolucion: ( no definido )
    private $d_FechaInicioDespacho;    // FechaInicioDespacho: ( no definido )
    private $d_FechaFinDespacho;    // FechaFinDespacho: ( no definido )
    private $s_Departamento;    // Departamento: ( no definido )
    private $s_Provincia;    // Provincia: ( no definido )
    private $s_Distrito;    // Distrito: ( no definido )
    private $s_Direccion;    // Direccion: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )
    private $s_UsuarioModificacion;    // UsuarioModificacion: ( no definido )
    private $d_FechaModificacion;    // FechaModificacion: ( no definido )

    /* Establece el valor del campo IdProyecto */
    public function setIdProyecto( $i_IdProyecto )
    {
        $this->i_IdProyecto = $i_IdProyecto;
    }

    /* Obtiene el valor del campo IdProyecto */
    public function getIdProyecto()
    {
        return $this->i_IdProyecto;
    }

    /* Establece el valor del campo IdPersona */
    public function setIdPersona( $i_IdPersona )
    {
        $this->i_IdPersona = $i_IdPersona;
    }

    /* Obtiene el valor del campo IdPersona */
    public function getIdPersona()
    {
        return $this->i_IdPersona;
    }

    /* Establece el valor del campo ClienteNombre */
    public function setClienteNombre( $s_ClienteNombre )
    {
        $this->s_ClienteNombre = $s_ClienteNombre;
    }

    /* Obtiene el valor del campo ClienteNombre */
    public function getClienteNombre()
    {
        return $this->s_ClienteNombre;
    }

    /* Establece el valor del campo ClienteTipoDocu */
    public function setClienteTipoDocu( $s_ClienteTipoDocu )
    {
        $this->s_ClienteTipoDocu = $s_ClienteTipoDocu;
    }

    /* Obtiene el valor del campo ClienteTipoDocu */
    public function getClienteTipoDocu()
    {
        return $this->s_ClienteTipoDocu;
    }

    /* Establece el valor del campo ClienteNroDocu */
    public function setClienteNroDocu( $s_ClienteNroDocu )
    {
        $this->s_ClienteNroDocu = $s_ClienteNroDocu;
    }

    /* Obtiene el valor del campo ClienteNroDocu */
    public function getClienteNroDocu()
    {
        return $this->s_ClienteNroDocu;
    }

    /* Establece el valor del campo NombreCompleto */
    public function setNombreCompleto( $s_NombreCompleto )
    {
        $this->s_NombreCompleto = $s_NombreCompleto;
    }

    /* Obtiene el valor del campo NombreCompleto */
    public function getNombreCompleto()
    {
        return $this->s_NombreCompleto;
    }

    /* Establece el valor del campo NombreProyecto */
    public function setNombreProyecto( $s_NombreProyecto )
    {
        $this->s_NombreProyecto = $s_NombreProyecto;
    }

    /* Obtiene el valor del campo NombreProyecto */
    public function getNombreProyecto()
    {
        return $this->s_NombreProyecto;
    }

    /* Establece el valor del campo Contacto */
    public function setContacto( $s_Contacto )
    {
        $this->s_Contacto = $s_Contacto;
    }

    /* Obtiene el valor del campo Contacto */
    public function getContacto()
    {
        return $this->s_Contacto;
    }

    /* Establece el valor del campo TipoDocumento */
    public function setTipoDocumento( $s_TipoDocumento )
    {
        $this->s_TipoDocumento = $s_TipoDocumento;
    }

    /* Obtiene el valor del campo TipoDocumento */
    public function getTipoDocumento()
    {
        return $this->s_TipoDocumento;
    }

    /* Establece el valor del campo NroDocumento */
    public function setNroDocumento( $s_NroDocumento )
    {
        $this->s_NroDocumento = $s_NroDocumento;
    }

    /* Obtiene el valor del campo NroDocumento */
    public function getNroDocumento()
    {
        return $this->s_NroDocumento;
    }

    /* Establece el valor del campo Cargo */
    public function setCargo( $s_Cargo )
    {
        $this->s_Cargo = $s_Cargo;
    }

    /* Obtiene el valor del campo Cargo */
    public function getCargo()
    {
        return $this->s_Cargo;
    }

    /* Establece el valor del campo Telefono */
    public function setTelefono( $s_Telefono )
    {
        $this->s_Telefono = $s_Telefono;
    }

    /* Obtiene el valor del campo Telefono */
    public function getTelefono()
    {
        return $this->s_Telefono;
    }

    /* Establece el valor del campo Correo */
    public function setCorreo( $s_Correo )
    {
        $this->s_Correo = $s_Correo;
    }

    /* Obtiene el valor del campo Correo */
    public function getCorreo()
    {
        return $this->s_Correo;
    }

    /* Establece el valor del campo Estado */
    public function setEstado( $s_Estado )
    {
        $this->s_Estado = $s_Estado;
    }

    /* Obtiene el valor del campo Estado */
    public function getEstado()
    {
        return $this->s_Estado;
    }

    /* Establece el valor del campo EstadoDevolucion */
    public function setEstadoDevolucion( $s_EstadoDevolucion )
    {
        $this->s_EstadoDevolucion = $s_EstadoDevolucion;
    }

    /* Obtiene el valor del campo EstadoDevolucion */
    public function getEstadoDevolucion()
    {
        return $this->s_EstadoDevolucion;
    }

    /* Establece el valor del campo FechaInicioDespacho */
    public function setFechaInicioDespacho( $d_FechaInicioDespacho )
    {
        $this->d_FechaInicioDespacho = $d_FechaInicioDespacho;
    }

    /* Obtiene el valor del campo FechaInicioDespacho */
    public function getFechaInicioDespacho()
    {
        return $this->d_FechaInicioDespacho;
    }

    /* Establece el valor del campo FechaFinDespacho */
    public function setFechaFinDespacho( $d_FechaFinDespacho )
    {
        $this->d_FechaFinDespacho = $d_FechaFinDespacho;
    }

    /* Obtiene el valor del campo FechaFinDespacho */
    public function getFechaFinDespacho()
    {
        return $this->d_FechaFinDespacho;
    }

    /* Establece el valor del campo Departamento */
    public function setDepartamento( $s_Departamento )
    {
        $this->s_Departamento = $s_Departamento;
    }

    /* Obtiene el valor del campo Departamento */
    public function getDepartamento()
    {
        return $this->s_Departamento;
    }

    /* Establece el valor del campo Provincia */
    public function setProvincia( $s_Provincia )
    {
        $this->s_Provincia = $s_Provincia;
    }

    /* Obtiene el valor del campo Provincia */
    public function getProvincia()
    {
        return $this->s_Provincia;
    }

    /* Establece el valor del campo Distrito */
    public function setDistrito( $s_Distrito )
    {
        $this->s_Distrito = $s_Distrito;
    }

    /* Obtiene el valor del campo Distrito */
    public function getDistrito()
    {
        return $this->s_Distrito;
    }

    /* Establece el valor del campo Direccion */
    public function setDireccion( $s_Direccion )
    {
        $this->s_Direccion = $s_Direccion;
    }

    /* Obtiene el valor del campo Direccion */
    public function getDireccion()
    {
        return $this->s_Direccion;
    }

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

    /* Establece el valor del campo UsuarioModificacion */
    public function setUsuarioModificacion( $s_UsuarioModificacion )
    {
        $this->s_UsuarioModificacion = $s_UsuarioModificacion;
    }

    /* Obtiene el valor del campo UsuarioModificacion */
    public function getUsuarioModificacion()
    {
        return $this->s_UsuarioModificacion;
    }

    /* Establece el valor del campo FechaModificacion */
    public function setFechaModificacion( $d_FechaModificacion )
    {
        $this->d_FechaModificacion = $d_FechaModificacion;
    }

    /* Obtiene el valor del campo FechaModificacion */
    public function getFechaModificacion()
    {
        return $this->d_FechaModificacion;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'IdProyecto' => $this->getIdProyecto(),
            'IdPersona' => $this->getIdPersona(),
            'ClienteNombre' => $this->getClienteNombre(),
            'ClienteTipoDocu' => $this->getClienteTipoDocu(),
            'ClienteNroDocu' => $this->getClienteNroDocu(),
            'NombreCompleto' => $this->getNombreCompleto(),
            'NombreProyecto' => $this->getNombreProyecto(),
            'Contacto' => $this->getContacto(),
            'TipoDocumento' => $this->getTipoDocumento(),
            'NroDocumento' => $this->getNroDocumento(),
            'Cargo' => $this->getCargo(),
            'Telefono' => $this->getTelefono(),
            'Correo' => $this->getCorreo(),
            'Estado' => $this->getEstado(),
            'EstadoDevolucion' => $this->getEstadoDevolucion(),
            'FechaInicioDespacho' => $this->getFechaInicioDespacho(),
            'FechaFinDespacho' => $this->getFechaFinDespacho(),
            'Departamento' => $this->getDepartamento(),
            'Provincia' => $this->getProvincia(),
            'Distrito' => $this->getDistrito(),
            'Direccion' => $this->getDireccion(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
        ];
    }

    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_PrsProyectosBN desde un RecordSet */
    public static function retrieveByRs( $o_VTA_PrsProyectosRs )
    {
        $o_VTA_PrsProyectosBN = new VTA_PrsProyectosBN();
        $o_VTA_PrsProyectosBN->setIdProyecto( ( integer ) $o_VTA_PrsProyectosRs[ "IdProyecto" ] );
        $o_VTA_PrsProyectosBN->setIdPersona( ( integer ) $o_VTA_PrsProyectosRs[ "IdPersona" ] );
        $o_VTA_PrsProyectosBN->setClienteNombre( $o_VTA_PrsProyectosRs[ "ClienteNombre" ] );
        $o_VTA_PrsProyectosBN->setClienteTipoDocu( $o_VTA_PrsProyectosRs[ "ClienteTipoDocu" ] );
        $o_VTA_PrsProyectosBN->setClienteNroDocu( $o_VTA_PrsProyectosRs[ "ClienteNroDocu" ] );
        $o_VTA_PrsProyectosBN->setNombreCompleto( $o_VTA_PrsProyectosRs[ "NombreCompleto" ] );
        $o_VTA_PrsProyectosBN->setNombreProyecto( $o_VTA_PrsProyectosRs[ "NombreProyecto" ] );
        $o_VTA_PrsProyectosBN->setContacto( $o_VTA_PrsProyectosRs[ "Contacto" ] );
        $o_VTA_PrsProyectosBN->setTipoDocumento( $o_VTA_PrsProyectosRs[ "TipoDocumento" ] );
        $o_VTA_PrsProyectosBN->setNroDocumento( $o_VTA_PrsProyectosRs[ "NroDocumento" ] );
        $o_VTA_PrsProyectosBN->setCargo( $o_VTA_PrsProyectosRs[ "Cargo" ] );
        $o_VTA_PrsProyectosBN->setTelefono( $o_VTA_PrsProyectosRs[ "Telefono" ] );
        $o_VTA_PrsProyectosBN->setCorreo( $o_VTA_PrsProyectosRs[ "Correo" ] );
        $o_VTA_PrsProyectosBN->setEstado( $o_VTA_PrsProyectosRs[ "Estado" ] );
        $o_VTA_PrsProyectosBN->setEstadoDevolucion( $o_VTA_PrsProyectosRs[ "EstadoDevolucion" ] );
        $o_VTA_PrsProyectosBN->setFechaInicioDespacho( utilTimestamp::getTimestamp( $o_VTA_PrsProyectosRs[ "FechaInicioDespacho" ], "Y-m-d" ) );
        $o_VTA_PrsProyectosBN->setFechaFinDespacho( utilTimestamp::getTimestamp( $o_VTA_PrsProyectosRs[ "FechaFinDespacho" ], "Y-m-d" ) );
        $o_VTA_PrsProyectosBN->setDepartamento( $o_VTA_PrsProyectosRs[ "Departamento" ] );
        $o_VTA_PrsProyectosBN->setProvincia( $o_VTA_PrsProyectosRs[ "Provincia" ] );
        $o_VTA_PrsProyectosBN->setDistrito( $o_VTA_PrsProyectosRs[ "Distrito" ] );
        $o_VTA_PrsProyectosBN->setDireccion( $o_VTA_PrsProyectosRs[ "Direccion" ] );
        $o_VTA_PrsProyectosBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_VTA_PrsProyectosRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_VTA_PrsProyectosBN->setUsuarioCreacion( $o_VTA_PrsProyectosRs[ "UsuarioCreacion" ] );
        $o_VTA_PrsProyectosBN->setUsuarioModificacion( $o_VTA_PrsProyectosRs[ "UsuarioModificacion" ] );
        $o_VTA_PrsProyectosBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_VTA_PrsProyectosRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        return $o_VTA_PrsProyectosBN;
    }
}
?>