<?php
/* Autor...: Grupo Deltron S.A. */
/* Esquema.: modelo_alfa_ext_01092014.xml */
/* Generado: 2014-09-07 19:34:59 */

/* Validacion del contenido de los campos campos de la tabla cr_pedido_prestamo */
abstract class BaseCr_pedido_prestamoBV extends Cr_pedido_prestamoBN
{
    /* Contiene la clase que valida el tipo de dato */
    private $o_Validator; // Contiene el objeto que realizara la validacion de tipo de dato.
    private $s_ValidatorMessage; // Contiene la ultima observacion de la validacion del tipo de dato.

    /* Constructor ( Establece la clase que valida los tipos de datos y establece los valores por defecto ) */
    public function __construct()
    {
        /* Establecemos el objeto que realizara la validacion del tipo de dato */
        $this->o_Validator = new utilValidDataType();

        /* Establecemos los valores por defecto */
    }

    /* Valida en tipo de dato */
    private function validateData( $u_Data, $s_DataType, $i_Length, $i_Decimal, $b_NotNull )
    {
        $this->s_ValidatorMessage = null;
        if( !$this->o_Validator->validate( $u_Data, $s_DataType, $i_Length, $i_Decimal, $b_NotNull ) )
        {
            $this->s_ValidatorMessage = $this->o_Validator->getMessage();
        }
        return is_null( $this->s_ValidatorMessage );
    }

    /* Valida y establece el valor del campo idpedido */
    public function setIdpedido( $i_Idpedido, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_Idpedido, "INTEGER", 0, 0, true ) )
            {
                throw new Exception( "El campo 'idpedido' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdpedido( $i_Idpedido );
        return true;
    }
    /* Valida y establece el valor del campo LimiteCredito */
    public function setTipo( $s_Tipo, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_Tipo, "VARCHAR", 1, 0, false ) )
            {
                throw new Exception( "El campo 'Tipo' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setTipo( $s_Tipo);
        return true;
    }

    /* Valida y establece el valor del campo IdCliente */
    public function setIdCliente( $i_IdCliente, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdCliente, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IdCliente' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdCliente( $i_IdCliente );
        return true;
    }

    /* Valida y establece el valor del campo IidMercado */
    public function setIidMercado( $i_IidMercado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IidMercado, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IidMercado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIidMercado( $i_IidMercado );
        return true;
    }

    /* Valida y establece el valor del campo IdColaborador */
    public function setIdColaborador( $i_IdColaborador, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdColaborador, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IdColaborador' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdColaborador( $i_IdColaborador );
        return true;
    }

    /* Valida y establece el valor del campo FechaTransaccion */
    public function setFechaTransaccion( $d_FechaTransaccion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaTransaccion, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'FechaTransaccion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaTransaccion( $d_FechaTransaccion );
        return true;
    }
    
    
    /* Valida y establece el valor del campo FechaTransaccion */
    public function setFechaEntrega( $d_FechaEntrega, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaEntrega, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'd_FechaEntrega' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaEntrega( $d_FechaEntrega);
        return true;
    }

    /* Valida y establece el valor del campo Monto */
    public function setMonto( $f_Monto, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_Monto, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'Monto' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setMonto( $f_Monto );
        return true;
    }
    
     /* Valida y establece el valor del campo Monto */
    public function setMontoFinal( $f_MontoFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_MontoFinal, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'Monto Final' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setMontoFinal( $f_MontoFinal );
        return true;
    }


    /* Valida y establece el valor del campo LimiteCredito */
    public function setLimiteCredito( $f_LimiteCredito, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_LimiteCredito, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'LimiteCredito' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setLimiteCredito( $f_LimiteCredito );
        return true;
    }

     /* Valida y establece el valor del campo LimiteCredito */
    public function setTelefonoContacto( $f_TelefonoContacto, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_TelefonoContacto, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'TelefonoContacto' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setTelefonoContacto( $f_TelefonoContacto );
        return true;
    }
     
    
 /* Valida y establece el valor del campo LimiteCredito */
    public function setIdPrestamo( $i_IdPrestamo, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdPrestamo, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IdPrestamo' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdPrestamo( $i_IdPrestamo );
        return true;
    }
	
    /* Valida y establece el valor del campo LimiteCredito */
    public function setIdPrestamoReferencia( $i_IdPrestamoReferencia, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdPrestamoReferencia, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IdPrestamoReferencia' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdPrestamoReferencia( $i_IdPrestamoReferencia );
        return true;
    }
    /* Valida y establece el valor del campo InteresPorcentaje */
    public function setSaldoAnterior( $f_SaldoAnterior, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_SaldoAnterior, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'SaldoAnterior' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setSaldoAnterior( $f_SaldoAnterior );
        return true;
    }
     /* Valida y establece el valor del campo InteresPorcentaje */
    public function setMontoExtra( $f_MontoExtra, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_MontoExtra, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'MontoExtra' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setMontoExtra( $f_MontoExtra );
        return true;
    }
    /* Valida y establece el valor del campo MontoExtraFinal */
    public function setMontoExtraFinal( $f_MontoExtraFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_MontoExtraFinal, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'MontoExtraFinal' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setMontoExtraFinal( $f_MontoExtraFinal );
        return true;
    }
     public function setMora( $f_Mora, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_Mora, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'Mora' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setMora( $f_Mora );
        return true;
    }
     public function setMoraFinal( $f_MoraFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_MoraFinal, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'MoraFinal' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setMoraFinal( $f_MoraFinal );
        return true;
    }
    
    /* Valida y establece el valor del campo InteresPorcentaje */
    public function setInteresPorcentaje( $f_InteresPorcentaje, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_InteresPorcentaje, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'InteresPorcentaje' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setInteresPorcentaje( $f_InteresPorcentaje );
        return true;
    }
     /* Valida y establece el valor del campo InteresPorcentaje */
    public function setInteresPorcentajeFinal( $f_InteresPorcentajeFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $f_InteresPorcentajeFinal, "DECIMAL", 10, 2, false ) )
            {
                throw new Exception( "El campo 'InteresPorcentajeFinal' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setInteresPorcentajeFinal( $f_InteresPorcentajeFinal );
        return true;
    }

    /* Valida y establece el valor del campo Duracion */
    public function setDuracion( $i_Duracion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_Duracion, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'Duracion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setDuracion( $i_Duracion );
        return true;
    }

    /* Valida y establece el valor del campo Duracion */
    public function setDuracionFinal( $i_DuracionFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_DuracionFinal, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'DuracionFinal' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setDuracionFinal( $i_DuracionFinal );
        return true;
    }

    
    /* Valida y establece el valor del campo PeridiocidadPago */
    public function setPeridiocidadPago( $s_PeridiocidadPago, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_PeridiocidadPago, "VARCHAR", 1, 0, false ) )
            {
                throw new Exception( "El campo 'PeridiocidadPago' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setPeridiocidadPago( $s_PeridiocidadPago );
        return true;
    }
    
     /* Valida y establece el valor del campo PeridiocidadPago */
    public function setPeridiocidadPagoFinal( $s_PeridiocidadPagoFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_PeridiocidadPagoFinal, "VARCHAR", 1, 0, false ) )
            {
                throw new Exception( "El campo 'PeridiocidadPagoFinal' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setPeridiocidadPagoFinal( $s_PeridiocidadPagoFinal );
        return true;
    }

    /* Valida y establece el valor del campo HoraAtencion */
    public function setHoraAtencion( $s_HoraAtencion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_HoraAtencion, "VARCHAR", 100, 0, false ) )
            {
                throw new Exception( "El campo 'HoraAtencion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setHoraAtencion( $s_HoraAtencion );
        return true;
    }

    /* Valida y establece el valor del campo FechaCreacion */
    public function setFechaCreacion( $d_FechaCreacion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaCreacion, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'FechaCreacion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaCreacion( $d_FechaCreacion );
        return true;
    }

    /* Valida y establece el valor del campo UsuarioCreacion */
    public function setUsuarioCreacion( $s_UsuarioCreacion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_UsuarioCreacion, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'UsuarioCreacion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setUsuarioCreacion( $s_UsuarioCreacion );
        return true;
    }

    /* Valida y establece el valor del campo FechaModificacion */
    public function setFechaModificacion( $d_FechaModificacion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaModificacion, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'FechaModificacion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaModificacion( $d_FechaModificacion );
        return true;
    }

    /* Valida y establece el valor del campo UsuarioModificacion */
    public function setUsuarioModificacion( $s_UsuarioModificacion, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_UsuarioModificacion, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'UsuarioModificacion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setUsuarioModificacion( $s_UsuarioModificacion );
        return true;
    }

    /* Valida y establece el valor del campo Eliminado */
    public function setEliminado( $i_Eliminado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_Eliminado, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'Eliminado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setEliminado( $i_Eliminado );
        return true;
    }

    /* Valida y establece el valor del campo UsuarioEliminado */
    public function setUsuarioEliminado( $s_UsuarioEliminado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_UsuarioEliminado, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'UsuarioEliminado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setUsuarioEliminado( $s_UsuarioEliminado );
        return true;
    }

    /* Valida y establece el valor del campo FechaEliminado */
    public function setFechaEliminado( $d_FechaEliminado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaEliminado, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'FechaEliminado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaEliminado( $d_FechaEliminado );
        return true;
    }

    /* Valida y establece el valor del campo Estado */
    public function setEstado( $s_Estado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_Estado, "VARCHAR", 1, 0, false ) )
            {
                throw new Exception( "El campo 'Estado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setEstado( $s_Estado );
        return true;
    }

    /* Valida y establece el valor del campo Observacion */
    public function setObservacion( $s_Observacion, $b_ValidateData = false )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_Observacion, "VARCHAR", 500, 0, false ) )
            {
                throw new Exception( "El campo 'Observacion' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setObservacion( $s_Observacion );
        return true;
    }

     /* Valida y establece el valor del campo Observacion */
    public function setObservacionFinal( $s_ObservacionFinal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_ObservacionFinal, "VARCHAR", 1000, 0, false ) )
            {
                //throw new Exception( "El campo 'Observacion Final' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setObservacionFinal( $s_ObservacionFinal );
        return true;
    }
     /* Valida y establece el valor del campo RegistroLatitud */
    public function setRegistroLatitud( $s_RegistroLatitud, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_RegistroLatitud, "VARCHAR", 500, 0, false ) )
            {
                throw new Exception( "El campo 'Registro Latitud' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setRegistroLatitud( $s_RegistroLatitud );
        return true;
    }
    
    /* Valida y establece el valor del campo RegistroLongitud */
    public function setRegistroLongitud( $s_RegistroLongitud, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_RegistroLongitud, "VARCHAR", 500, 0, false ) )
            {
                throw new Exception( "El campo 'Registro Longitud' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setRegistroLongitud( $s_RegistroLongitud );
        return true;
    }
    
    /* Valida el contenido del registro */
    public function validateRecord()
    {
        $this->setIdpedido( $this->getIdpedido(), false );
        $this->setIdCliente( $this->getIdCliente(), true );
        $this->setIidMercado( $this->getIidMercado(), true );
        $this->setIdColaborador( $this->getIdColaborador(), true );
        $this->setFechaTransaccion( $this->getFechaTransaccion(), true );
        $this->setMonto( $this->getMonto(), true );
        $this->setMontoFinal( $this->getMontoFinal(), true );
        $this->setLimiteCredito( $this->getLimiteCredito(), true );
        $this->setInteresPorcentaje( $this->getInteresPorcentaje(), true );
        $this->setDuracion( $this->getDuracion(), true );
        $this->setPeridiocidadPago( $this->getPeridiocidadPago(), true );
        $this->setHoraAtencion( $this->getHoraAtencion(), true );
        $this->setFechaCreacion( $this->getFechaCreacion(), true );
        $this->setUsuarioCreacion( $this->getUsuarioCreacion(), true );
        $this->setFechaModificacion( $this->getFechaModificacion(), true );
        $this->setUsuarioModificacion( $this->getUsuarioModificacion(), true );
        $this->setEliminado( $this->getEliminado(), true );
        $this->setUsuarioEliminado( $this->getUsuarioEliminado(), true );
        $this->setFechaEliminado( $this->getFechaEliminado(), true );
        $this->setEstado( $this->getEstado(), true );
        $this->setObservacion( $this->getObservacion(), true );
        $this->setObservacionFinal( $this->getObservacionFinal(), true );
        return true;
    }
}
?>