<?php
/* Autor...:  */
/* Esquema.: MKT_ItemPromocion.xml */
/* Generado: 2022-02-09 07:47:37 */

/* Metodos de acceso a los campos de la tabla MKT_ItemPromocion */
abstract class BaseMKT_ItemPromocionBN
{
    /* Campos de la tabla */
    private $i_IdItemPromo;    // IdItemPromo: ( no definido )
    private $s_IdItem;    // IdItem: ( no definido )
    private $i_IdPromoCab;    // IdPromoCab: ( no definido )
    private $s_TipoDetalle;    // TipoDetalle: ( no definido )
    private $s_DescripcionItem;    // DescripcionItem: ( no definido )
    private $f_CostoSinIGV;    // CostoSinIGV: ( no definido )
    private $f_CostoConIGV;    // CostoConIGV: ( no definido )
    private $f_Cantidad;    // Cantidad: ( no definido )
    private $f_PrecioSinIGV;    // PrecioSinIGV: ( no definido )
    private $f_MontoIGV;    // MontoIGV: ( no definido )
    private $f_PrecioConIGV;    // PrecioConIGV: ( no definido )
    private $f_CostoConIGVTotal;    // CostoConIGVTotal: ( no definido )
    private $f_PrecioConIGVTotal;    // PrecioConIGVTotal: ( no definido )
    private $f_CostoConIGVCalculado;    // CostoConIGVCalculado: ( no definido )
    private $f_PrecioConIGVCalculado;    // PrecioConIGVCalculado: ( no definido )

    /* Establece el valor del campo IdItemPromo */
    public function setIdItemPromo( $i_IdItemPromo )
    {
        $this->i_IdItemPromo = $i_IdItemPromo;
    }

    /* Obtiene el valor del campo IdItemPromo */
    public function getIdItemPromo()
    {
        return $this->i_IdItemPromo;
    }

    /* Establece el valor del campo IdItem */
    public function setIdItem( $s_IdItem )
    {
        $this->s_IdItem = $s_IdItem;
    }

    /* Obtiene el valor del campo IdItem */
    public function getIdItem()
    {
        return $this->s_IdItem;
    }

    /* Establece el valor del campo IdPromoCab */
    public function setIdPromoCab( $i_IdPromoCab )
    {
        $this->i_IdPromoCab = $i_IdPromoCab;
    }

    /* Obtiene el valor del campo IdPromoCab */
    public function getIdPromoCab()
    {
        return $this->i_IdPromoCab;
    }

    /* Establece el valor del campo TipoDetalle */
    public function setTipoDetalle( $s_TipoDetalle )
    {
        $this->s_TipoDetalle = $s_TipoDetalle;
    }

    /* Obtiene el valor del campo TipoDetalle */
    public function getTipoDetalle()
    {
        return $this->s_TipoDetalle;
    }

    /* Establece el valor del campo DescripcionItem */
    public function setDescripcionItem( $s_DescripcionItem )
    {
        $this->s_DescripcionItem = $s_DescripcionItem;
    }

    /* Obtiene el valor del campo DescripcionItem */
    public function getDescripcionItem()
    {
        return $this->s_DescripcionItem;
    }

    /* Establece el valor del campo CostoSinIGV */
    public function setCostoSinIGV( $f_CostoSinIGV )
    {
        $this->f_CostoSinIGV = $f_CostoSinIGV;
    }

    /* Obtiene el valor del campo CostoSinIGV */
    public function getCostoSinIGV()
    {
        return $this->f_CostoSinIGV;
    }

    /* Establece el valor del campo CostoConIGV */
    public function setCostoConIGV( $f_CostoConIGV )
    {
        $this->f_CostoConIGV = $f_CostoConIGV;
    }

    /* Obtiene el valor del campo CostoConIGV */
    public function getCostoConIGV()
    {
        return $this->f_CostoConIGV;
    }

    /* Establece el valor del campo Cantidad */
    public function setCantidad( $f_Cantidad )
    {
        $this->f_Cantidad = $f_Cantidad;
    }

    /* Obtiene el valor del campo Cantidad */
    public function getCantidad()
    {
        return $this->f_Cantidad;
    }

    /* Establece el valor del campo PrecioSinIGV */
    public function setPrecioSinIGV( $f_PrecioSinIGV )
    {
        $this->f_PrecioSinIGV = $f_PrecioSinIGV;
    }

    /* Obtiene el valor del campo PrecioSinIGV */
    public function getPrecioSinIGV()
    {
        return $this->f_PrecioSinIGV;
    }

    /* Establece el valor del campo MontoIGV */
    public function setMontoIGV( $f_MontoIGV )
    {
        $this->f_MontoIGV = $f_MontoIGV;
    }

    /* Obtiene el valor del campo MontoIGV */
    public function getMontoIGV()
    {
        return $this->f_MontoIGV;
    }

    /* Establece el valor del campo PrecioConIGV */
    public function setPrecioConIGV( $f_PrecioConIGV )
    {
        $this->f_PrecioConIGV = $f_PrecioConIGV;
    }

    /* Obtiene el valor del campo PrecioConIGV */
    public function getPrecioConIGV()
    {
        return $this->f_PrecioConIGV;
    }

    /* Establece el valor del campo CostoConIGVTotal */
    public function setCostoConIGVTotal( $f_CostoConIGVTotal )
    {
        $this->f_CostoConIGVTotal = $f_CostoConIGVTotal;
    }

    /* Obtiene el valor del campo CostoConIGVTotal */
    public function getCostoConIGVTotal()
    {
        return $this->f_CostoConIGVTotal;
    }

    /* Establece el valor del campo PrecioConIGVTotal */
    public function setPrecioConIGVTotal( $f_PrecioConIGVTotal )
    {
        $this->f_PrecioConIGVTotal = $f_PrecioConIGVTotal;
    }

    /* Obtiene el valor del campo PrecioConIGVTotal */
    public function getPrecioConIGVTotal()
    {
        return $this->f_PrecioConIGVTotal;
    }

    /* Establece el valor del campo CostoConIGVCalculado */
    public function setCostoConIGVCalculado( $f_CostoConIGVCalculado )
    {
        $this->f_CostoConIGVCalculado = $f_CostoConIGVCalculado;
    }

    /* Obtiene el valor del campo CostoConIGVCalculado */
    public function getCostoConIGVCalculado()
    {
        return $this->f_CostoConIGVCalculado;
    }

    /* Establece el valor del campo PrecioConIGVCalculado */
    public function setPrecioConIGVCalculado( $f_PrecioConIGVCalculado )
    {
        $this->f_PrecioConIGVCalculado = $f_PrecioConIGVCalculado;
    }

    /* Obtiene el valor del campo PrecioConIGVCalculado */
    public function getPrecioConIGVCalculado()
    {
        return $this->f_PrecioConIGVCalculado;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'IdItemPromo' => $this->getIdItemPromo(),
            'IdItem' => $this->getIdItem(),
            'IdPromoCab' => $this->getIdPromoCab(),
            'TipoDetalle' => $this->getTipoDetalle(),
            'DescripcionItem' => $this->getDescripcionItem(),
            'CostoSinIGV' => $this->getCostoSinIGV(),
            'CostoConIGV' => $this->getCostoConIGV(),
            'Cantidad' => $this->getCantidad(),
            'PrecioSinIGV' => $this->getPrecioSinIGV(),
            'MontoIGV' => $this->getMontoIGV(),
            'PrecioConIGV' => $this->getPrecioConIGV(),
            'CostoConIGVTotal' => $this->getCostoConIGVTotal(),
            'PrecioConIGVTotal' => $this->getPrecioConIGVTotal(),
            'CostoConIGVCalculado' => $this->getCostoConIGVCalculado(),
            'PrecioConIGVCalculado' => $this->getPrecioConIGVCalculado(),
        ];
    }

    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 MKT_ItemPromocionBN desde un RecordSet */
    public static function retrieveByRs( $o_MKT_ItemPromocionRs )
    {
        $o_MKT_ItemPromocionBN = new MKT_ItemPromocionBN();
        $o_MKT_ItemPromocionBN->setIdItemPromo( ( integer ) $o_MKT_ItemPromocionRs[ "IdItemPromo" ] );
        $o_MKT_ItemPromocionBN->setIdItem( $o_MKT_ItemPromocionRs[ "IdItem" ] );
        $o_MKT_ItemPromocionBN->setIdPromoCab( ( integer ) $o_MKT_ItemPromocionRs[ "IdPromoCab" ] );
        $o_MKT_ItemPromocionBN->setTipoDetalle( $o_MKT_ItemPromocionRs[ "TipoDetalle" ] );
        $o_MKT_ItemPromocionBN->setDescripcionItem( $o_MKT_ItemPromocionRs[ "DescripcionItem" ] );
        $o_MKT_ItemPromocionBN->setCostoSinIGV( ( float ) $o_MKT_ItemPromocionRs[ "CostoSinIGV" ] );
        $o_MKT_ItemPromocionBN->setCostoConIGV( ( float ) $o_MKT_ItemPromocionRs[ "CostoConIGV" ] );
        $o_MKT_ItemPromocionBN->setCantidad( ( float ) $o_MKT_ItemPromocionRs[ "Cantidad" ] );
        $o_MKT_ItemPromocionBN->setPrecioSinIGV( ( float ) $o_MKT_ItemPromocionRs[ "PrecioSinIGV" ] );
        $o_MKT_ItemPromocionBN->setMontoIGV( ( float ) $o_MKT_ItemPromocionRs[ "MontoIGV" ] );
        $o_MKT_ItemPromocionBN->setPrecioConIGV( ( float ) $o_MKT_ItemPromocionRs[ "PrecioConIGV" ] );
        $o_MKT_ItemPromocionBN->setCostoConIGVTotal( ( float ) $o_MKT_ItemPromocionRs[ "CostoConIGVTotal" ] );
        $o_MKT_ItemPromocionBN->setPrecioConIGVTotal( ( float ) $o_MKT_ItemPromocionRs[ "PrecioConIGVTotal" ] );
        $o_MKT_ItemPromocionBN->setCostoConIGVCalculado( ( float ) $o_MKT_ItemPromocionRs[ "CostoConIGVCalculado" ] );
        $o_MKT_ItemPromocionBN->setPrecioConIGVCalculado( ( float ) $o_MKT_ItemPromocionRs[ "PrecioConIGVCalculado" ] );
        return $o_MKT_ItemPromocionBN;
    }
}
?>