<?php

namespace App\Controllers;

use App\Models\Red_agua_potableModel;

class Red_agua_potable extends BaseController

{
    protected $model;

    public function __construct()
    {
        $this->model = new Red_agua_potableModel();
    }

    public function index()
    {
        $filtros = [
            'id_tuberia'     => $this->request->getGet('id_tuberia'),
            'calle'          => $this->request->getGet('calle'),
            'estado_actual'  => $this->request->getGet('estado_actual'),
            'responsable'    => $this->request->getGet('responsable'),
            'ubicacion'      => $this->request->getGet('ubicacion'),
            'distrito'       => $this->request->getGet('distrito'),
            'otb'            => $this->request->getGet('otb'),
        ];

        $porPagina = 10;

        $data['items'] = $this->model
            ->buscar($filtros)
            ->orderBy('id_tuberia', 'ASC')
            ->paginate($porPagina);

        $data['pager'] = $this->model->pager;
        $data['search'] = $filtros;

        return view('red_agua_potable/index', $data);

    }

    public function view($id)
    {
        $item = $this->model->find($id);

        if (!$item) {
            throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound("Registro no encontrado");
        }

        return view('red_agua_potable/view', ['item' => $item]);
    }

    public function create()
    {
        return view('red_agua_potable/create');
    }

    public function store()
    {
        $data = $this->request->getPost();
        $this->model->insert($data);

        return redirect()->to('/red_agua_potable')->with('mensaje', 'Registro creado correctamente');
    }

    public function edit($id)
    {
        $item = $this->model->find($id);

        if (!$item) {
            throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound("Registro no encontrado");
        }

        return view('red_agua_potable/edit', ['item' => $item]);
    }

    public function update($id)
    {
    $request = \Config\Services::request();

    $data = [
        'id_tuberia'       => $request->getPost('id_tuberia'),
        'diametro'         => $request->getPost('diametro'),
        'longitud'         => $request->getPost('longitud'),
        'material'         => $request->getPost('material'),
        'funcion_tuberia'  => $request->getPost('funcion_tuberia'),
        'tipo_tuberia'     => $request->getPost('tipo_tuberia'),
        'profundidad'      => $request->getPost('profundidad'),
        'estado_actual'    => $request->getPost('estado_actual'),
        'calle'            => $request->getPost('calle'),
        'ubicacion'        => $request->getPost('ubicacion'),
        'dist_de_la_red'   => $request->getPost('dist_de_la_red'),
        'otb'              => $request->getPost('otb'),
        'distrito'         => $request->getPost('distrito'),
        'municipio'        => $request->getPost('municipio'),
        'provincia'        => $request->getPost('provincia'),
        'departamento'     => $request->getPost('departamento'),
        'responsable'      => $request->getPost('responsable'),
        'observaciones'    => $request->getPost('observaciones'),
    ];

    // Limpia campos vacíos opcionales (los convierte en null)
    foreach ($data as $key => $value) {
        $data[$key] = (trim($value) === '') ? null : $value;
    }

    $model = new \App\Models\Red_agua_potableModel();
    $model->update($id, $data);

    return redirect()->to(base_url('red_agua_potable'))->with('mensaje', 'Registro actualizado correctamente');
    }
    
    
    public function ver_red_agua_potable_ol ($gid) {

        // se debe crear la variable de session para guardar el url del servidor grafico
        $i_jameuge = "https://server1.jmap4.com/jvisorbolivia/index.html?tipo_consulta=red_agua_potable_gid";
        $i_jameuge = $i_jameuge . "&gid=" . $gid;
        $i_jameuge = $i_jameuge . "&ip_host=server1.jmap4.com";
        //redirect($i_jameuge);
        //return redirect()->to('https://server1.jmap4.com/jvisorbolivia/index.html?tipo_consulta=predios_gid&gid=1&ip_host=server1.jmap4.com');
        return redirect()->to($i_jameuge);
    }    

    public function delete($id)
    {
        $usuarioModel = new red_agua_potableModel();
        $usuarioModel->delete($id);

        return redirect()->to(base_url('red_agua_potable'))->with('status', 'Regisro Red agua potable eliminada correctamente');
    }
    
    
}


