<?php

namespace App\Controllers\API;

use App\Controllers\Presupuestos\Presupuestocliente;
use CodeIgniter\RESTful\ResourceController;
use CodeIgniter\API\ResponseTrait;
use App\Models\API\ItemModel;

class ImprimelibrosApi extends ResourceController
{

    use ResponseTrait;

    public function index()
    {
        $model = new ItemModel();
        $data = $model->findAll();
        return $this->respond($data);
    }



    public function calcular()
    {
        helper(['form']);

        // Access the entire POST data
        $post_data = $this->request->getJSON(true);

        //return $this->respond(var_dump($post_data));

        $data_tmp = array
        (
            'clienteId' => 1870,
            'tamanio' => array
            (
                'ancho' => 170,
                'alto' => 240
            ),
            'tirada' => array
            (
                '0' => 50,
                '1' => 100,

            ),
            'paginas' => 320,
            'paginasColor' => 0,
            'pagColorConsecutivas' => 0,
            'papelInteriorDiferente' => 0,
            'paginasCuadernillo' => 32,
            'tipo' => 'cosido',
            'isColor' => 0,
            'isHq' => 0,
            'interior' => array
            (
                'papelInterior' => 3,
                'gramajeInterior' => 80
            ),
            'guardas' => array
            (
                'papel' => 'OFF1',
                'gramaje' => 170,
                'caras' => 8
            ),
            'posPaginasColor' => null,
            'prototipo' => 0,
            'ferro' => 0,
            'ferroDigital' => 0,
            'marcapaginas' => 0,
            'retractilado' => 0,
            'retractilado5' => 0,
            'eb' => 10.5,
            'cubierta' => array
            (
                'tipoCubierta' => 'tapaDura',
                'papelCubierta' => 2,
                'gramajeCubierta' => 170,
                'cabezada' => 'WHI',
                'acabado' => 1,
                'carasImpresion' => 2,
                'lomoRedondo' => 0,
                'solapas' => 0,
            ),
            'sobrecubierta' => false,
            'faja' => false,
            'excluirRotativa' => 0,
            'ivaReducido' => 1,
            'servicios' => array
            (
                'prototipo' => 0,
                'ferro' => 0,
                'ferroDigital' => 0,
                'marcapaginas' => 0,
                'retractilado' => 0,
                'retractilado5' => 0
            ),
            'entrega_taller' => 1,
            'id' => 334
        );

        // Crear el cliente HTTP
        $client = \Config\Services::curlrequest();

        $presupuestocliente = new Presupuestocliente();
        $response = $presupuestocliente->calcular($post_data);

        $response = [
            'status' => 200,
            'error' => null,
            'messages' => [
                'precio' => $response['precio_u']
            ]
        ];
        return $this->respond($response);
    }

    public function delete($id = null)
    {
        $model = new ItemModel();
        $find = $model->find(['id' => $id]);
        if (!$find)
            return $this->failNotFound('No Data Found');
        $model->delete($id);

        $response = [
            'status' => 200,
            'error' => null,
            'messages' => [
                'success' => 'Data deleted'
            ]
        ];
        return $this->respond($response);
    }
}
