<?php
class ProductosModel extends Query{
    private $codigo,$nombre_producto,$precio_venta,$id_medida,$id_categoria,$id_producto,$estado;
    public function __construct()
    {
        parent::__construct();
        
    }

    public function getProductos()
    {
        $sql = "select p.*, m.descripcion, c.descripcionProducto
        from productos p
        inner join stipounidadesmedidas m on m.codigo=p.id_medida
        inner join slistaproductos c on c.id=p.id_categoria
        ";
        $data = $this->selectAll($sql);
        return $data;
    }

    
    
    public function registrarProducto(string $codigo,string $nombre_producto,float $precio_venta,
    int $id_medida,int $id_categoria){
        $this->codigo=$codigo;
        $this->nombre_producto=$nombre_producto;
        $this->precio_venta=$precio_venta;
        $this->id_medida=$id_medida;
        $this->id_categoria=$id_categoria;
        $verificar="select * from productos where nombre_producto='$nombre_producto'";
        $existe=$this->select($verificar);
        if(empty($existe)){
            $sql= "insert into productos (codigo,nombre_producto,precio_venta,id_medida ,id_categoria ) values (?,?,?,?,?)";
            $datos= array($this->codigo,$this->nombre_producto,$this->precio_venta,$this->id_medida,$this->id_categoria);
            $data=$this->save($sql,$datos);
            if($data==1){
                $res="ok";
            }else{
                $res="error";
            }
            
        }else{
            $res="existe";
        }
        return $res;
    
    }
    public function editarProducto(int $id){
        $sql="select * from productos where id_producto='$id'";
        $data=$this->select($sql);
        return $data;
    }
    public function modificarProducto(string $codigo,string $nombre_producto,float $precio_venta,
    int $id_medida,int $id_categoria, int $id_producto){
        $this->codigo=$codigo;
        $this->nombre_producto=$nombre_producto;
        $this->precio_venta=$precio_venta;
        $this->id_medida=$id_medida;
        $this->id_categoria=$id_categoria;
        $this->id_producto = $id_producto;
        $sql = "update productos set codigo=?,nombre_producto=?,precio_venta=?,id_medida=?,id_categoria=? where id_producto=?";
        $datos= array($this->codigo,$this->nombre_producto,$this->precio_venta,$this->id_medida,$this->id_categoria,$this->id_producto);
        $data=$this->save($sql,$datos);
        if($data==1){
            $res="modificado";
        }else{
            $res="error";
        }
        return $res;
    }

    
    public function accion(int $estado , int $id){
        $this->id_producto = $id;
        $this->estado=$estado;
        $sql = "update productos set producto_estado=? where id_producto=?";
        $datos= array($this->estado, $this->id_producto);
        $data=$this->save($sql,$datos);
        return $data;
    }
}
?>